From 90f360762527ff6f505ed99f64812200f86d638e Mon Sep 17 00:00:00 2001
From: Marco Boeck
Date: Wed, 7 Feb 2018 09:52:59 +0100
Subject: [PATCH] Release RapidMiner 8.1.0
---
build.gradle | 21 +-
gradle.properties | 2 +-
.../repository/wsimport/AccessRights.java | 2 +-
.../repository/wsimport/CancelTrigger.java | 2 +-
.../wsimport/CancelTriggerResponse.java | 2 +-
.../repository/wsimport/CreateBlob.java | 2 +-
.../wsimport/CreateBlobResponse.java | 2 +-
.../repository/wsimport/DeleteEntry.java | 2 +-
.../wsimport/DeleteEntryResponse.java | 2 +-
.../repository/wsimport/EntryResponse.java | 2 +-
.../wsimport/ExecuteProcessCron.java | 2 +-
.../wsimport/ExecuteProcessCron13.java | 2 +-
.../ExecuteProcessCron13Response.java | 2 +-
.../wsimport/ExecuteProcessCronResponse.java | 2 +-
.../wsimport/ExecuteProcessSimple.java | 2 +-
.../wsimport/ExecuteProcessSimple13.java | 2 +-
.../ExecuteProcessSimple13Response.java | 2 +-
.../ExecuteProcessSimpleResponse.java | 2 +-
.../wsimport/ExecuteProcessWithOffset.java | 2 +-
.../ExecuteProcessWithOffsetResponse.java | 2 +-
.../wsimport/ExecutionResponse.java | 2 +-
.../wsimport/FolderContentsResponse.java | 2 +-
.../repository/wsimport/GetAccessRights.java | 2 +-
.../wsimport/GetAccessRightsResponse.java | 2 +-
.../repository/wsimport/GetAllGroupNames.java | 2 +-
.../wsimport/GetAllGroupNamesResponse.java | 2 +-
.../rapid_i/repository/wsimport/GetEntry.java | 2 +-
.../repository/wsimport/GetEntryResponse.java | 2 +-
.../wsimport/GetFolderContents.java | 2 +-
.../wsimport/GetFolderContentsResponse.java | 2 +-
.../repository/wsimport/GetFreeMemory.java | 2 +-
.../wsimport/GetFreeMemoryResponse.java | 2 +-
.../wsimport/GetInstalledPlugins.java | 2 +-
.../wsimport/GetInstalledPluginsResponse.java | 2 +-
.../repository/wsimport/GetMaxMemory.java | 2 +-
.../wsimport/GetMaxMemoryResponse.java | 2 +-
.../wsimport/GetProcessContents.java | 2 +-
.../wsimport/GetProcessContentsResponse.java | 2 +-
.../wsimport/GetProcessIdsForJobId.java | 2 +-
.../GetProcessIdsForJobIdResponse.java | 2 +-
.../repository/wsimport/GetQueueInfo.java | 2 +-
.../wsimport/GetQueueInfoResponse.java | 2 +-
.../repository/wsimport/GetQueueNames.java | 2 +-
.../wsimport/GetQueueNamesResponse.java | 2 +-
.../repository/wsimport/GetQueueState.java | 2 +-
.../wsimport/GetQueueStateResponse.java | 2 +-
.../wsimport/GetRunningProcesses.java | 2 +-
.../wsimport/GetRunningProcessesInfo.java | 2 +-
.../GetRunningProcessesInfoResponse.java | 2 +-
.../wsimport/GetRunningProcessesResponse.java | 2 +-
.../wsimport/GetSystemLoadAverage.java | 2 +-
.../GetSystemLoadAverageResponse.java | 2 +-
.../repository/wsimport/GetTotalMemory.java | 2 +-
.../wsimport/GetTotalMemoryResponse.java | 2 +-
.../repository/wsimport/GetUpSince.java | 2 +-
.../wsimport/GetUpSinceResponse.java | 2 +-
.../repository/wsimport/GetVersionNumber.java | 2 +-
.../wsimport/GetVersionNumberResponse.java | 2 +-
.../repository/wsimport/MacroDefinition.java | 2 +-
.../repository/wsimport/MakeFolder.java | 2 +-
.../wsimport/MakeFolderResponse.java | 2 +-
.../com/rapid_i/repository/wsimport/Move.java | 2 +-
.../repository/wsimport/MoveResponse.java | 2 +-
.../repository/wsimport/ObjectFactory.java | 2 +-
.../repository/wsimport/PluginInfo.java | 2 +-
.../wsimport/ProcessContentsResponse.java | 2 +-
.../wsimport/ProcessContextWrapper.java | 2 +-
.../repository/wsimport/ProcessResponse.java | 2 +-
.../repository/wsimport/ProcessService.java | 2 +-
.../repository/wsimport/ProcessService13.java | 2 +-
.../wsimport/ProcessService13_Service.java | 2 +-
.../wsimport/ProcessService_Service.java | 2 +-
.../wsimport/ProcessStackTrace.java | 2 +-
.../wsimport/ProcessStackTraceElement.java | 2 +-
.../repository/wsimport/QueueProperty.java | 2 +-
.../repository/wsimport/QueueState.java | 2 +-
.../repository/wsimport/RAInfoService.java | 2 +-
.../wsimport/RAInfoService_Service.java | 2 +-
.../rapid_i/repository/wsimport/Rename.java | 2 +-
.../repository/wsimport/RenameResponse.java | 2 +-
.../wsimport/RepositoryService.java | 2 +-
.../wsimport/RepositoryService_Service.java | 2 +-
.../rapid_i/repository/wsimport/Response.java | 2 +-
.../repository/wsimport/SetAccessRights.java | 2 +-
.../wsimport/SetAccessRightsResponse.java | 2 +-
.../repository/wsimport/StartNewRevision.java | 2 +-
.../wsimport/StartNewRevisionResponse.java | 2 +-
.../repository/wsimport/StopProcess.java | 2 +-
.../wsimport/StopProcessResponse.java | 2 +-
.../repository/wsimport/StoreProcess.java | 2 +-
.../wsimport/StoreProcessResponse.java | 2 +-
.../repository/wsimport/mgt/CheckSetup.java | 2 +-
.../wsimport/mgt/CheckSetupResponse.java | 2 +-
.../wsimport/mgt/CreateDBConnection.java | 2 +-
.../mgt/CreateDBConnectionResponse.java | 2 +-
.../wsimport/mgt/GetGlobalProperty.java | 2 +-
.../mgt/GetGlobalPropertyResponse.java | 2 +-
.../wsimport/mgt/ManagementService.java | 2 +-
.../mgt/ManagementServiceService.java | 2 +-
.../wsimport/mgt/ObjectFactory.java | 2 +-
.../repository/wsimport/mgt/Response.java | 2 +-
.../wsimport/mgt/SetGlobalProperty.java | 2 +-
.../mgt/SetGlobalPropertyResponse.java | 2 +-
.../repository/wsimport/mgt/package-info.java | 2 +-
.../repository/wsimport/package-info.java | 2 +-
.../antlr/FunctionExpressionLexer.java | 2 +-
.../antlr/FunctionExpressionParser.java | 2 +-
.../FunctionExpressionParserBaseListener.java | 2 +-
.../FunctionExpressionParserBaseVisitor.java | 2 +-
.../FunctionExpressionParserListener.java | 2 +-
.../FunctionExpressionParserVisitor.java | 2 +-
.../com/rapidminer/BreakpointListener.java | 2 +-
.../com/rapidminer/ConsoleInputHandler.java | 2 +-
src/main/java/com/rapidminer/Experiment.java | 2 +-
.../com/rapidminer/FileProcessLocation.java | 2 +-
.../java/com/rapidminer/InputHandler.java | 2 +-
.../java/com/rapidminer/LoggingListener.java | 2 +-
.../java/com/rapidminer/MacroHandler.java | 2 +-
src/main/java/com/rapidminer/NoBugError.java | 2 +-
.../java/com/rapidminer/NoOpUserError.java | 2 +-
.../java/com/rapidminer/ObjectVisualizer.java | 2 +-
.../rapidminer/OperatorLibraryService.java | 2 +-
src/main/java/com/rapidminer/Process.java | 14 +-
.../java/com/rapidminer/ProcessContext.java | 2 +-
.../java/com/rapidminer/ProcessListener.java | 2 +-
.../java/com/rapidminer/ProcessLocation.java | 2 +-
.../com/rapidminer/ProcessSetupListener.java | 2 +-
.../com/rapidminer/ProcessStateListener.java | 2 +-
.../rapidminer/ProcessStorageListener.java | 2 +-
src/main/java/com/rapidminer/RapidMiner.java | 11 +-
.../com/rapidminer/RapidMinerVersion.java | 2 +-
.../rapidminer/RepositoryProcessLocation.java | 2 +-
...ctionStatisticsLicenseManagerListener.java | 2 +-
.../DatabaseConstraintViolationException.java | 2 +-
.../license/LicenseViolationException.java | 2 +-
.../core/license/OpenSourceLicense.java | 2 +-
.../license/OpenSourceLicenseManager.java | 2 +-
.../core/license/OpenSourceUser.java | 2 +-
.../license/ProductConstraintManager.java | 2 +-
.../datatable/AbstractDataTable.java | 24 +-
.../BidirectionalMappingProvider.java | 2 +-
...elationMatrixRow2DataTableRowIterator.java | 2 +-
...relationMatrixRow2DataTableRowWrapper.java | 2 +-
.../com/rapidminer/datatable/DataTable.java | 2 +-
.../datatable/DataTableExampleSetAdapter.java | 2 +-
.../datatable/DataTableFilterCondition.java | 2 +-
.../DataTableKernelModelAdapter.java | 2 +-
.../datatable/DataTableListener.java | 2 +-
.../datatable/DataTableMappingProvider.java | 2 +-
.../DataTableNaturalSortProvider.java | 2 +-
...aTablePairwiseMatrixExtractionAdapter.java | 2 +-
.../rapidminer/datatable/DataTableRow.java | 2 +-
.../datatable/DataTableSortProvider.java | 2 +-
.../DataTableSymmetricalMatrixAdapter.java | 2 +-
.../rapidminer/datatable/DataTableView.java | 2 +-
.../Example2DataTableRowIterator.java | 2 +-
.../Example2DataTableRowWrapper.java | 2 +-
.../datatable/FilteredDataTable.java | 2 +-
.../datatable/GnuPlotDataTableHandler.java | 2 +-
.../KernelModelRow2DataTableRowWrapper.java | 2 +-
.../NominalSortingDataTableMapping.java | 2 +-
.../PairwiseMatrix2DataTableRowIterator.java | 2 +-
.../PairwiseMatrix2DataTableRowWrapper.java | 2 +-
.../datatable/RangeFilterCondition.java | 2 +-
.../datatable/RegionFilterCondition.java | 2 +-
.../rapidminer/datatable/SimpleDataTable.java | 2 +-
.../datatable/SimpleDataTableRow.java | 2 +-
.../datatable/SortedDataTableView.java | 2 +-
.../datatable/ValueMappingDataTableRow.java | 2 +-
.../datatable/ValueMappingDataTableView.java | 2 +-
.../example/AbstractAttributes.java | 2 +-
.../com/rapidminer/example/Attribute.java | 8 +-
.../example/AttributeDescription.java | 2 +-
.../rapidminer/example/AttributeIterator.java | 2 +-
.../com/rapidminer/example/AttributeRole.java | 2 +-
.../example/AttributeRoleIterator.java | 2 +-
.../example/AttributeTransformation.java | 2 +-
.../example/AttributeTypeException.java | 2 +-
.../rapidminer/example/AttributeWeight.java | 2 +-
.../rapidminer/example/AttributeWeights.java | 24 +-
.../com/rapidminer/example/Attributes.java | 2 +-
.../example/DelegateAttributes.java | 2 +-
.../java/com/rapidminer/example/Example.java | 2 +-
.../rapidminer/example/ExampleFormatter.java | 2 +-
.../com/rapidminer/example/ExampleReader.java | 2 +-
.../com/rapidminer/example/ExampleSet.java | 2 +-
.../rapidminer/example/ExampleSetFactory.java | 2 +-
.../example/FastExample2SparseTransform.java | 2 +-
.../example/FormatterException.java | 2 +-
.../rapidminer/example/MinMaxStatistics.java | 2 +-
.../rapidminer/example/NominalStatistics.java | 2 +-
.../example/NumericalStatistics.java | 2 +-
.../example/RegularAttributeIterator.java | 2 +-
.../rapidminer/example/SimpleAttributes.java | 2 +-
.../com/rapidminer/example/Statistics.java | 2 +-
.../java/com/rapidminer/example/Tools.java | 64 +-
.../rapidminer/example/UnknownStatistics.java | 2 +-
.../example/WeightedNumericalStatistics.java | 2 +-
.../example/set/AbstractExampleReader.java | 2 +-
.../example/set/AbstractExampleSet.java | 20 +-
.../example/set/AcceptAllCondition.java | 2 +-
.../set/AttributeSelectionExampleSet.java | 2 +-
.../set/AttributeTransformationRemapping.java | 2 +-
...AttributeTransformationReplaceMissing.java | 2 +-
.../set/AttributeTransformationWeighting.java | 2 +-
.../example/set/AttributeValueFilter.java | 2 +-
.../AttributeValueFilterSingleCondition.java | 2 +-
.../set/AttributeWeightedExampleSet.java | 2 +-
.../example/set/AttributesExampleReader.java | 2 +-
.../com/rapidminer/example/set/Condition.java | 2 +-
.../set/ConditionCreationException.java | 2 +-
.../example/set/ConditionedExampleSet.java | 7 +-
.../set/CorrectPredictionCondition.java | 2 +-
.../rapidminer/example/set/CustomFilter.java | 2 +-
.../example/set/ExampleSetUtilities.java | 2 +-
.../example/set/ExpressionFilter.java | 2 +-
.../FullAttributeTransformationRemapping.java | 2 +-
.../example/set/HeaderExampleSet.java | 15 +-
.../set/IndexBasedExampleSetReader.java | 2 +-
.../example/set/MappedExampleReader.java | 2 +-
.../example/set/MappedExampleSet.java | 20 +-
.../set/MissingAttributesCondition.java | 2 +-
.../example/set/MissingLabelsCondition.java | 2 +-
.../example/set/ModelViewExampleSet.java | 2 +-
.../set/NoMissingAttributeValueCondition.java | 2 +-
.../set/NoMissingAttributesCondition.java | 2 +-
.../example/set/NoMissingLabelsCondition.java | 2 +-
.../set/NonSpecialAttributesExampleSet.java | 2 +-
.../com/rapidminer/example/set/Partition.java | 2 +-
.../example/set/PartitionBuilder.java | 2 +-
.../example/set/RemappedExampleSet.java | 2 +-
.../example/set/ReplaceMissingExampleSet.java | 2 +-
.../example/set/ShuffledPartitionBuilder.java | 2 +-
.../example/set/SimilarityExampleSet.java | 2 +-
.../example/set/SimpleExampleReader.java | 2 +-
.../example/set/SimpleExampleSet.java | 7 +-
.../example/set/SimplePartitionBuilder.java | 2 +-
.../example/set/SingleExampleExampleSet.java | 2 +-
.../example/set/SkipNANExampleReader.java | 2 +-
.../example/set/SortedExampleReader.java | 2 +-
.../example/set/SortedExampleSet.java | 7 +-
.../example/set/SplittedExampleSet.java | 6 +-
.../set/StratifiedPartitionBuilder.java | 2 +-
.../example/set/WrongPredictionCondition.java | 2 +-
.../example/table/AbstractAttribute.java | 2 +-
.../example/table/AbstractDataRowReader.java | 2 +-
.../example/table/AbstractExampleTable.java | 2 +-
.../table/AbstractSparseArrayDataRow.java | 2 +-
.../example/table/AttributeFactory.java | 2 +-
.../example/table/BinominalAttribute.java | 2 +-
.../example/table/BinominalMapping.java | 2 +-
.../example/table/BooleanArrayDataRow.java | 2 +-
.../table/BooleanSparseArrayDataRow.java | 2 +-
.../example/table/ByteArrayDataRow.java | 2 +-
.../example/table/ByteSparseArrayDataRow.java | 2 +-
.../com/rapidminer/example/table/DataRow.java | 2 +-
.../example/table/DataRowFactory.java | 2 +-
.../example/table/DataRowReader.java | 2 +-
.../example/table/DatabaseDataRow.java | 2 +-
.../example/table/DatabaseDataRowReader.java | 2 +-
.../example/table/DateAttribute.java | 2 +-
.../example/table/DoubleArrayDataRow.java | 2 +-
.../table/DoubleSparseArrayDataRow.java | 2 +-
.../example/table/ExampleTable.java | 2 +-
.../table/FastSparseDoubleArrayDataRow.java | 2 +-
.../example/table/FileDataRowReader.java | 2 +-
.../example/table/FloatArrayDataRow.java | 2 +-
.../table/FloatSparseArrayDataRow.java | 2 +-
.../example/table/GrowingExampleTable.java | 2 +-
.../example/table/IntArrayDataRow.java | 2 +-
.../example/table/IntSparseArrayDataRow.java | 2 +-
.../example/table/ListDataRowReader.java | 2 +-
.../example/table/LongArrayDataRow.java | 2 +-
.../example/table/LongSparseArrayDataRow.java | 2 +-
.../example/table/MemoryExampleTable.java | 2 +-
.../example/table/NominalAttribute.java | 2 +-
.../example/table/NominalMapping.java | 2 +-
.../example/table/NonWritableDataRow.java | 2 +-
.../example/table/NumericalAttribute.java | 2 +-
.../example/table/PolynominalAttribute.java | 2 +-
.../example/table/PolynominalMapping.java | 2 +-
.../example/table/RandomDataRowReader.java | 2 +-
.../example/table/RandomExampleTable.java | 2 +-
.../example/table/RapidMinerLineReader.java | 2 +-
.../example/table/ResultSetDataRowReader.java | 2 +-
.../example/table/ShortArrayDataRow.java | 2 +-
.../table/ShortSparseArrayDataRow.java | 2 +-
.../example/table/SimpleArrayData.java | 2 +-
.../table/SimpleArrayDataRowReader.java | 2 +-
.../example/table/SparseDataRow.java | 2 +-
.../table/SparseFormatDataRowReader.java | 2 +-
.../example/table/SparseMapDataRow.java | 2 +-
.../example/table/ViewAttribute.java | 2 +-
.../internal/AbstractHighSparsityChunk.java | 2 +-
.../internal/AbstractMediumSparsityChunk.java | 2 +-
.../table/internal/AutoColumnUtils.java | 2 +-
.../table/internal/ByteArrayColumn.java | 2 +-
.../example/table/internal/Column.java | 2 +-
.../table/internal/ColumnarExampleTable.java | 2 +-
.../table/internal/DoubleArrayColumn.java | 2 +-
.../table/internal/DoubleAutoColumn.java | 2 +-
.../table/internal/DoubleAutoDenseChunk.java | 2 +-
.../table/internal/DoubleAutoSparseChunk.java | 2 +-
.../internal/DoubleHighSparsityChunk.java | 2 +-
.../internal/DoubleIncompleteAutoColumn.java | 2 +-
.../internal/DoubleIncompleteDenseChunk.java | 2 +-
.../internal/DoubleIncompleteSparseChunk.java | 2 +-
.../internal/DoubleMediumSparsityChunk.java | 2 +-
.../table/internal/DoubleSparseChunk.java | 2 +-
.../table/internal/IntegerArrayColumn.java | 2 +-
.../table/internal/IntegerAutoColumn.java | 2 +-
.../table/internal/IntegerAutoDenseChunk.java | 2 +-
.../internal/IntegerAutoSparseChunk.java | 2 +-
.../internal/IntegerHighSparsityChunk.java | 2 +-
.../internal/IntegerIncompleteAutoColumn.java | 2 +-
.../internal/IntegerIncompleteDenseChunk.java | 2 +-
.../IntegerIncompleteSparseChunk.java | 2 +-
.../internal/IntegerMediumSparsityChunk.java | 2 +-
.../table/internal/IntegerSparseChunk.java | 2 +-
.../example/table/internal/NaNColumn.java | 2 +-
.../example/table/internal/package-info.java | 2 +-
.../utils/ColumnarExampleSetBuilder.java | 2 +-
.../example/utils/ExampleSetBuilder.java | 2 +-
.../rapidminer/example/utils/ExampleSets.java | 16 +-
.../utils/MemoryExampleSetBuilder.java | 2 +-
.../generator/AbsoluteValueGenerator.java | 2 +-
.../generator/AlgebraicOrGenerator.java | 2 +-
.../rapidminer/generator/AttributePeak.java | 2 +-
.../generator/AverageGenerator.java | 2 +-
.../BasicArithmeticOperationGenerator.java | 2 +-
.../generator/BinaryNumericalGenerator.java | 2 +-
.../generator/ConstantGenerator.java | 2 +-
.../ExponentialFunctionGenerator.java | 2 +-
.../generator/FeatureGenerator.java | 2 +-
.../generator/FloorCeilGenerator.java | 2 +-
.../generator/GenerationException.java | 2 +-
.../rapidminer/generator/MinMaxGenerator.java | 2 +-
.../rapidminer/generator/PowerGenerator.java | 2 +-
.../generator/ReciprocalValueGenerator.java | 2 +-
.../rapidminer/generator/SignumGenerator.java | 2 +-
.../generator/SingularNumericalGenerator.java | 2 +-
.../rapidminer/generator/SinusFactory.java | 2 +-
.../generator/SquareRootGenerator.java | 2 +-
.../TrigonometricFunctionGenerator.java | 2 +-
.../com/rapidminer/gui/ApplicationFrame.java | 2 +-
.../gui/ApplicationPerspectives.java | 2 +-
.../com/rapidminer/gui/ConditionalAction.java | 2 +-
.../java/com/rapidminer/gui/DockableMenu.java | 53 +-
.../rapidminer/gui/DummyObjectVisualizer.java | 2 +-
.../rapidminer/gui/EditorCellRenderer.java | 2 +-
.../com/rapidminer/gui/ExampleVisualizer.java | 2 +-
.../com/rapidminer/gui/GUIInputHandler.java | 2 +-
.../gui/GeneralProcessListener.java | 2 +-
.../rapidminer/gui/LoggedAbstractAction.java | 2 +-
.../java/com/rapidminer/gui/MainFrame.java | 95 +-
.../java/com/rapidminer/gui/MainToolBar.java | 349 +-
.../com/rapidminer/gui/MenuItemFactory.java | 2 +-
.../rapidminer/gui/MetaDataUpdateQueue.java | 4 +-
.../com/rapidminer/gui/OperatorDocLoader.java | 2 +-
.../gui/OperatorDocToHtmlConverter.java | 2 +-
.../gui/OperatorDocumentationBrowser.java | 2 +-
.../java/com/rapidminer/gui/Perspective.java | 2 +-
.../gui/PerspectiveChangeListener.java | 2 +-
.../rapidminer/gui/PerspectiveController.java | 65 +-
.../com/rapidminer/gui/PerspectiveMenu.java | 23 +-
.../com/rapidminer/gui/PerspectiveModel.java | 5 +-
.../rapidminer/gui/PerspectiveProperties.java | 2 +-
.../java/com/rapidminer/gui/Perspectives.java | 2 +-
.../rapidminer/gui/PerspectivesPanelBar.java | 2 +-
.../com/rapidminer/gui/ProcessThread.java | 2 +-
.../com/rapidminer/gui/RapidMinerGUI.java | 46 +-
.../com/rapidminer/gui/RunActionRegistry.java | 2 +-
.../gui/ToolbarGUIStartupListener.java | 2 +-
.../rapidminer/gui/actions/AboutAction.java | 18 +-
.../com/rapidminer/gui/actions/Actions.java | 8 +-
.../AttributeDescriptionFileWizardAction.java | 2 +-
.../gui/actions/AttributeEditorAction.java | 2 +-
.../gui/actions/AutoWireAction.java | 17 +-
.../rapidminer/gui/actions/BrowseAction.java | 2 +-
.../gui/actions/CloseAllResultsAction.java | 2 +-
.../ConnectPortToRepositoryAction.java | 2 +-
.../gui/actions/EditViewAction.java | 2 +-
.../rapidminer/gui/actions/ExitAction.java | 21 +-
.../gui/actions/ExportProcessAction.java | 2 +-
.../actions/ExtendedMouseClickedAdapter.java | 2 +-
.../gui/actions/ImportDataAction.java | 2 +-
.../gui/actions/ImportProcessAction.java | 2 +-
.../actions/ManageConfigurablesAction.java | 49 +
.../gui/actions/ManagePasswordsAction.java | 49 +
.../com/rapidminer/gui/actions/NewAction.java | 2 +-
.../gui/actions/NewPerspectiveAction.java | 19 +-
.../rapidminer/gui/actions/OpenAction.java | 2 +-
.../gui/actions/OperatorActionContext.java | 2 +-
.../gui/actions/OperatorActionFactory.java | 2 +-
.../rapidminer/gui/actions/PauseAction.java | 21 +-
.../rapidminer/gui/actions/PrintAction.java | 2 +-
.../actions/PropagateRealMetaDataAction.java | 29 +-
.../rapidminer/gui/actions/RedoAction.java | 21 +-
.../RestoreDefaultPerspectiveAction.java | 48 +
.../com/rapidminer/gui/actions/RunAction.java | 21 +-
.../rapidminer/gui/actions/SaveAction.java | 2 +-
.../rapidminer/gui/actions/SaveAsAction.java | 2 +-
.../gui/actions/SettingsAction.java | 2 +-
.../rapidminer/gui/actions/StopAction.java | 21 +-
.../gui/actions/StoreInRepositoryAction.java | 2 +-
.../rapidminer/gui/actions/ToggleAction.java | 2 +-
.../gui/actions/ToggleExpertModeAction.java | 2 +-
.../rapidminer/gui/actions/UndoAction.java | 21 +-
.../gui/actions/UpgradeLicenseAction.java | 2 +-
.../actions/ValidateAutomaticallyAction.java | 2 +-
.../gui/actions/ValidateProcessAction.java | 21 +-
.../gui/actions/WorkspaceAction.java | 37 +-
.../AbstractPrintableIOObjectPanel.java | 2 +-
.../gui/actions/export/ComponentPrinter.java | 2 +-
.../gui/actions/export/ExportImageAction.java | 2 +-
.../actions/export/ImageExportException.java | 2 +-
.../gui/actions/export/ImageExporter.java | 2 +-
.../actions/export/PrintAndExportDialog.java | 2 +-
.../gui/actions/export/PrintPreviewPanel.java | 2 +-
.../actions/export/PrintableComponent.java | 2 +-
.../export/PrintableComponentContainer.java | 2 +-
.../ShowPrintAndExportDialogAction.java | 10 +-
.../export/SimplePrintableComponent.java | 2 +-
.../actions/search/ActionsGlobalSearch.java | 53 +
.../ActionsGlobalSearchGUIProvider.java | 225 +
.../search/ActionsGlobalSearchManager.java | 394 ++
.../gui/actions/search/DockableAction.java | 51 +
.../gui/actions/startup/NewAction.java | 2 +-
.../gui/actions/startup/OpenAction.java | 2 +-
.../gui/actions/startup/TutorialAction.java | 2 +-
.../rapidminer/gui/animation/Animation.java | 2 +-
.../AnimationTimerProcessListener.java | 2 +-
.../gui/animation/IndeterminateAnimation.java | 2 +-
.../OperatorAnimationProcessListener.java | 2 +-
.../animation/ProcessAnimationManager.java | 2 +-
.../gui/animation/ProgressAnimation.java | 2 +-
.../gui/animation/ProgressProvider.java | 2 +-
.../gui/attributeeditor/AttributeEditor.java | 2 +-
.../AttributeEditorDialog.java | 2 +-
.../gui/attributeeditor/CellEditors.java | 2 +-
.../gui/attributeeditor/CellRenderers.java | 2 +-
.../gui/attributeeditor/DataControl.java | 2 +-
.../attributeeditor/DataControlListener.java | 2 +-
.../attributeeditor/actions/ClearAction.java | 2 +-
.../attributeeditor/actions/CloseAction.java | 2 +-
.../actions/GuessAllTypesAction.java | 2 +-
.../actions/GuessTypeAction.java | 2 +-
.../actions/LoadDataAction.java | 2 +-
.../actions/LoadSeriesDataAction.java | 2 +-
.../actions/OpenAttributeFileAction.java | 2 +-
.../actions/RemoveColumnAction.java | 2 +-
.../actions/RemoveRowAction.java | 2 +-
.../actions/SaveAttributeFileAction.java | 2 +-
.../actions/SaveDataAction.java | 2 +-
.../actions/UseRowAsNamesAction.java | 2 +-
.../com/rapidminer/gui/autosave/AutoSave.java | 2 +-
.../gui/dialog/AttributeWeightCellEditor.java | 2 +-
.../gui/dialog/AttributeWeightsDialog.java | 2 +-
.../dialog/AttributeWeightsTableModel.java | 2 +-
.../BrowserUnavailableDialogFactory.java | 2 +-
.../gui/dialog/BugZillaAssistant.java | 2 +-
.../gui/dialog/CronEditorDialog.java | 2 +-
.../com/rapidminer/gui/dialog/EULADialog.java | 2 +-
.../gui/dialog/IndividualSelector.java | 2 +-
.../dialog/IndividualSelectorTableModel.java | 2 +-
.../gui/dialog/NewOperatorDialog.java | 2 +-
.../gui/dialog/OperatorInfoPanel.java | 2 +-
.../gui/dialog/OperatorInfoScreen.java | 2 +-
.../gui/dialog/ResultContainer.java | 2 +-
.../rapidminer/gui/dialog/SearchDialog.java | 2 +-
.../gui/dialog/SearchableJEditTextArea.java | 2 +-
.../gui/dialog/SearchableJTextComponent.java | 2 +-
.../gui/dialog/SearchableTextComponent.java | 2 +-
.../dialog/UnknownParametersInfoDialog.java | 2 +-
.../dnd/AbstractPatchedTransferHandler.java | 2 +-
.../com/rapidminer/gui/dnd/DragListener.java | 2 +-
.../gui/dnd/OperatorTransferHandler.java | 2 +-
.../dnd/ReceivingOperatorTransferHandler.java | 7 +-
.../gui/dnd/RepositoryLocationList.java | 2 +-
.../gui/dnd/TransferableAnnotation.java | 2 +-
.../gui/dnd/TransferableOperator.java | 10 +-
.../gui/dnd/TransferableRepositoryEntry.java | 91 +
.../gui/docking/DetachedDockViewAsTab.java | 2 +-
.../RapidDockableContainerFactory.java | 2 +-
.../gui/docking/RapidDockingToolbar.java | 2 +-
.../gui/docking/RapidFloatingDialog.java | 2 +-
.../rapidminer/gui/flow/AutoWireThread.java | 2 +-
.../com/rapidminer/gui/flow/ErrorTable.java | 2 +-
.../flow/ExampleSetMetaDataTableModel.java | 2 +-
.../rapidminer/gui/flow/ExtensionButton.java | 2 +-
.../rapidminer/gui/flow/FlowVisualizer.java | 2 +-
.../gui/flow/NewProcessUndoManager.java | 2 +-
.../rapidminer/gui/flow/OverviewPanel.java | 2 +-
.../rapidminer/gui/flow/PanningManager.java | 2 +-
.../rapidminer/gui/flow/ProcessButtonBar.java | 2 +-
.../gui/flow/ProcessInteractionListener.java | 2 +-
.../com/rapidminer/gui/flow/ProcessPanel.java | 6 +-
.../gui/flow/ProcessPanelScroller.java | 2 +-
.../gui/flow/ProcessParentButtonModel.java | 2 +-
.../gui/flow/ProcessUndoManager.java | 2 +-
.../rapidminer/gui/flow/QuickFixDialog.java | 2 +-
.../annotations/AnnotationDrawUtils.java | 2 +-
.../annotations/AnnotationDrawer.java | 2 +-
.../annotations/AnnotationsDecorator.java | 2 +-
.../annotations/AnnotationsVisualizer.java | 2 +-
.../PasteAnnotationProxyAction.java | 2 +-
.../TransferHandlerAnnotationPlaintext.java | 2 +-
.../event/AnnotationEventHook.java | 2 +-
.../model/AnnotationDragHelper.java | 2 +-
.../model/AnnotationResizeHelper.java | 2 +-
.../annotations/model/AnnotationsModel.java | 2 +-
.../annotations/model/OperatorAnnotation.java | 2 +-
.../annotations/model/ProcessAnnotation.java | 2 +-
.../annotations/model/WorkflowAnnotation.java | 2 +-
.../model/WorkflowAnnotations.java | 2 +-
.../style/AnnotationAlignment.java | 2 +-
.../annotations/style/AnnotationColor.java | 2 +-
.../annotations/style/AnnotationStyle.java | 2 +-
.../background/ProcessBackgroundImage.java | 2 +-
.../ProcessBackgroundImageDecorator.java | 2 +-
.../ProcessBackgroundImageVisualizer.java | 2 +-
.../connections/ConnectionDrawUtils.java | 2 +-
.../RemoveHoveredConnectionDecorator.java | 2 +-
.../RemoveSelectedConnectionDecorator.java | 2 +-
.../draw/OperatorDrawDecorator.java | 2 +-
.../draw/ProcessDrawDecorator.java | 2 +-
.../draw/ProcessDrawUtils.java | 2 +-
.../processrendering/draw/ProcessDrawer.java | 2 +-
.../event/ProcessRendererAnnotationEvent.java | 2 +-
.../event/ProcessRendererEventListener.java | 2 +-
.../event/ProcessRendererModelEvent.java | 2 +-
.../event/ProcessRendererOperatorEvent.java | 2 +-
.../model/ProcessRendererModel.java | 27 +-
.../view/ProcessEventDecorator.java | 2 +-
.../view/ProcessRendererController.java | 2 +-
.../view/ProcessRendererDropTarget.java | 2 +-
.../view/ProcessRendererMouseHandler.java | 2 +-
.../view/ProcessRendererTransferHandler.java | 2 +-
.../view/ProcessRendererView.java | 2 +-
.../processrendering/view/RenderPhase.java | 2 +-
.../processrendering/view/RepaintFilter.java | 2 +-
.../view/actions/ArrangeOperatorsAction.java | 2 +-
.../view/actions/AutoFitAction.java | 2 +-
.../DeleteSelectedConnectionAction.java | 2 +-
.../view/actions/RenameAction.java | 2 +-
.../view/actions/SelectAllAction.java | 8 +-
.../view/components/InterpolationMap.java | 2 +-
.../components/OperatorWarningHandler.java | 2 +-
.../ProcessRendererTooltipProvider.java | 2 +-
.../graphs/AssociationRulesGraphCreator.java | 2 +-
.../graphs/BasicVertexShapeTransformer.java | 2 +-
.../gui/graphs/ClusterModelGraphCreator.java | 2 +-
.../gui/graphs/ClusterModelObjectViewer.java | 2 +-
.../gui/graphs/DefaultObjectViewer.java | 2 +-
.../ExtendedVertexShapeTransformer.java | 2 +-
.../rapidminer/gui/graphs/GraphCreator.java | 2 +-
.../gui/graphs/GraphCreatorAdaptor.java | 2 +-
.../gui/graphs/GraphObjectViewer.java | 2 +-
.../rapidminer/gui/graphs/GraphViewer.java | 2 +-
.../gui/graphs/LayoutSelection.java | 2 +-
.../gui/graphs/ShapeBasedTreeLayout.java | 2 +-
.../gui/graphs/SimilarityGraphCreator.java | 2 +-
.../gui/graphs/SingleDefaultGraphMouse.java | 2 +-
.../rapidminer/gui/graphs/SortableEdge.java | 2 +-
.../gui/graphs/TransitionGraphCreator.java | 2 +-
.../graphs/TreeModelEdgeLabelRenderer.java | 2 +-
.../gui/graphs/TreeModelGraphCreator.java | 2 +-
.../graphs/TreeModelNodeLabelRenderer.java | 2 +-
.../gui/graphs/TreeModelNodeRenderer.java | 2 +-
.../gui/graphs/actions/ZoomInAction.java | 2 +-
.../gui/graphs/actions/ZoomOutAction.java | 2 +-
.../gui/internal/GUIStartupListener.java | 2 +-
.../rapidminer/gui/license/LicenseTools.java | 2 +-
.../rapidminer/gui/look/ButtonListener.java | 2 +-
.../gui/look/ClipboardActionsPopup.java | 2 +-
.../java/com/rapidminer/gui/look/Colors.java | 19 +-
.../gui/look/GenericArrowButton.java | 2 +-
.../gui/look/ImageIconUIResource.java | 2 +-
.../gui/look/InternalFrameTitlePane.java | 2 +-
.../rapidminer/gui/look/RapidLookAndFeel.java | 6 +-
.../gui/look/RapidLookComboBoxEditor.java | 2 +-
.../gui/look/RapidLookListCellRenderer.java | 2 +-
.../rapidminer/gui/look/RapidLookTools.java | 108 +-
.../gui/look/RoundedPopupFactory.java | 2 +-
.../gui/look/RoundedRectanglePopup.java | 2 +-
.../com/rapidminer/gui/look/TextActions.java | 2 +-
.../gui/look/ToggleButtonListener.java | 2 +-
.../gui/look/ToolbarHandlerBuffer.java | 2 +-
.../gui/look/ToolbarHandlerIcon.java | 2 +-
.../rapidminer/gui/look/borders/Borders.java | 2 +-
.../gui/look/borders/CheckBoxBorder.java | 2 +-
.../gui/look/borders/ComboBoxBorder.java | 2 +-
.../ComboBoxListCellRendererFocusBorder.java | 2 +-
.../gui/look/borders/DummyBorder.java | 2 +-
.../gui/look/borders/EmptyBorder.java | 2 +-
.../gui/look/borders/EmptyButtonBorder.java | 2 +-
.../gui/look/borders/EmptyComboBoxBorder.java | 2 +-
.../gui/look/borders/InternalFrameBorder.java | 2 +-
.../gui/look/borders/MenuBarBorder.java | 2 +-
.../gui/look/borders/PopupBorder.java | 2 +-
.../gui/look/borders/PopupMenuBorder.java | 2 +-
.../gui/look/borders/ProgressBarBorder.java | 2 +-
.../gui/look/borders/RoundTitledBorder.java | 2 +-
.../gui/look/borders/ScrollPaneBorder.java | 2 +-
.../look/borders/ShadowedPopupMenuBorder.java | 2 +-
.../gui/look/borders/SpinnerBorder.java | 2 +-
.../gui/look/borders/SplitPaneBorder.java | 2 +-
.../gui/look/borders/TableHeaderBorder.java | 2 +-
.../gui/look/borders/TextFieldBorder.java | 71 +-
.../gui/look/borders/ToolBarBorder.java | 2 +-
.../gui/look/borders/ToolTipBorder.java | 2 +-
.../gui/look/fc/AutomaticTextField.java | 2 +-
.../com/rapidminer/gui/look/fc/Bookmark.java | 2 +-
.../gui/look/fc/BookmarkDialog.java | 2 +-
.../rapidminer/gui/look/fc/BookmarkIO.java | 2 +-
.../rapidminer/gui/look/fc/BookmarkList.java | 2 +-
.../gui/look/fc/BookmarkListModel.java | 2 +-
.../gui/look/fc/DragSelectionThread.java | 2 +-
.../rapidminer/gui/look/fc/FileChooserUI.java | 2 +-
.../com/rapidminer/gui/look/fc/FileList.java | 2 +-
.../com/rapidminer/gui/look/fc/FileTable.java | 2 +-
.../gui/look/fc/FileTableLabel.java | 2 +-
.../java/com/rapidminer/gui/look/fc/Item.java | 2 +-
.../com/rapidminer/gui/look/fc/ItemPanel.java | 2 +-
.../look/fc/ItemPanelKeyboardListener.java | 2 +-
.../gui/look/fc/MultipleLinesLabel.java | 2 +-
.../gui/look/fc/ThumbGeneratorThread.java | 2 +-
.../com/rapidminer/gui/look/fc/Tools.java | 2 +-
.../gui/look/icons/CheckBoxIcon.java | 2 +-
.../gui/look/icons/CheckBoxMenuItemIcon.java | 2 +-
.../gui/look/icons/IconFactory.java | 2 +-
.../gui/look/icons/RadioButtonIcon.java | 2 +-
.../look/icons/RadioButtonMenuItemIcon.java | 2 +-
.../look/painters/AbstractCachedPainter.java | 2 +-
.../rapidminer/gui/look/painters/Cache.java | 2 +-
.../gui/look/painters/CachedPainter.java | 2 +-
.../look/painters/MenuBackgroundPainter.java | 2 +-
.../painters/MenuBarBackgroundPainter.java | 2 +-
.../look/painters/MenuSeparatorPainter.java | 2 +-
.../com/rapidminer/gui/look/ui/ButtonUI.java | 2 +-
.../gui/look/ui/CheckBoxMenuItemUI.java | 2 +-
.../rapidminer/gui/look/ui/CheckBoxUI.java | 2 +-
.../rapidminer/gui/look/ui/ComboBoxUI.java | 2 +-
.../rapidminer/gui/look/ui/DesktopIconUI.java | 2 +-
.../rapidminer/gui/look/ui/EditorPaneUI.java | 2 +-
.../gui/look/ui/ExtensionButtonUI.java | 2 +-
.../gui/look/ui/FormattedTextFieldUI.java | 2 +-
.../gui/look/ui/InternalFrameUI.java | 2 +-
.../com/rapidminer/gui/look/ui/LabelUI.java | 2 +-
.../com/rapidminer/gui/look/ui/ListUI.java | 2 +-
.../com/rapidminer/gui/look/ui/MenuBarUI.java | 2 +-
.../rapidminer/gui/look/ui/MenuItemUI.java | 2 +-
.../com/rapidminer/gui/look/ui/MenuUI.java | 2 +-
.../gui/look/ui/PasswordFieldUI.java | 2 +-
.../gui/look/ui/PopupMenuSeparatorUI.java | 2 +-
.../rapidminer/gui/look/ui/PopupMenuUI.java | 2 +-
.../rapidminer/gui/look/ui/ProgressBarUI.java | 2 +-
.../gui/look/ui/RadioButtonMenuItemUI.java | 2 +-
.../rapidminer/gui/look/ui/RadioButtonUI.java | 2 +-
.../gui/look/ui/RapidDockingUISettings.java | 2 +-
.../rapidminer/gui/look/ui/ScrollBarUI.java | 2 +-
.../com/rapidminer/gui/look/ui/SliderUI.java | 2 +-
.../rapidminer/gui/look/ui/SpinnerButton.java | 2 +-
.../com/rapidminer/gui/look/ui/SpinnerUI.java | 2 +-
.../gui/look/ui/SplitPaneDividerUI.java | 2 +-
.../rapidminer/gui/look/ui/SplitPaneUI.java | 2 +-
.../rapidminer/gui/look/ui/TabbedPaneUI.java | 2 +-
.../rapidminer/gui/look/ui/TableHeaderUI.java | 2 +-
.../com/rapidminer/gui/look/ui/TableUI.java | 2 +-
.../rapidminer/gui/look/ui/TextAreaUI.java | 2 +-
.../rapidminer/gui/look/ui/TextFieldUI.java | 2 +-
.../rapidminer/gui/look/ui/TextPaneUI.java | 2 +-
.../gui/look/ui/ToggleButtonUI.java | 2 +-
.../com/rapidminer/gui/look/ui/ToolBarUI.java | 2 +-
.../gui/look/ui/ToolbarButtonUI.java | 2 +-
.../com/rapidminer/gui/look/ui/TreeUI.java | 2 +-
.../gui/metadata/MetaDataRendererFactory.java | 2 +-
.../MetaDataRendererFactoryRegistry.java | 2 +-
.../ChartConfigurationException.java | 2 +-
.../new_plotter/ChartCreationException.java | 2 +-
.../new_plotter/ChartPlottimeException.java | 2 +-
.../ConfigurationChangeResponse.java | 2 +-
.../gui/new_plotter/MasterOfDesaster.java | 2 +-
.../new_plotter/PlotConfigurationError.java | 2 +-
.../PlotConfigurationQuickFix.java | 2 +-
.../AbstractDimensionConfig.java | 2 +-
.../configuration/AbstractValueGrouping.java | 2 +-
.../configuration/AggregationWindowing.java | 2 +-
.../AxisParallelLineConfiguration.java | 2 +-
.../AxisParallelLinesConfiguration.java | 2 +-
...xisParallelLinesConfigurationListener.java | 2 +-
.../configuration/DataTableColumn.java | 2 +-
.../configuration/DefaultDimensionConfig.java | 2 +-
.../configuration/DimensionConfig.java | 2 +-
.../configuration/DistinctValueGrouping.java | 2 +-
.../configuration/DomainConfigManager.java | 2 +-
.../EqualDataFractionGrouping.java | 2 +-
.../EquidistantFixedBinCountBinning.java | 2 +-
.../configuration/GroupCellKey.java | 2 +-
.../configuration/LegendConfiguration.java | 2 +-
.../new_plotter/configuration/LineFormat.java | 2 +-
.../configuration/LineFormatListener.java | 2 +-
.../configuration/LinkAndBrushMaster.java | 2 +-
.../configuration/PlotConfiguration.java | 2 +-
.../configuration/RangeAxisConfig.java | 2 +-
.../configuration/SeriesFormat.java | 2 +-
.../configuration/ValueGrouping.java | 2 +-
.../configuration/ValueSource.java | 2 +-
...ParallelLinesConfigurationChangeEvent.java | 2 +-
.../data/DataTableColumnIndex.java | 2 +-
.../new_plotter/data/DimensionConfigData.java | 2 +-
.../data/DomainConfigManagerData.java | 2 +-
.../gui/new_plotter/data/GroupCellData.java | 2 +-
.../new_plotter/data/GroupCellKeyAndData.java | 2 +-
.../new_plotter/data/GroupCellSeriesData.java | 2 +-
.../gui/new_plotter/data/PlotData.java | 2 +-
.../gui/new_plotter/data/PlotInstance.java | 2 +-
.../gui/new_plotter/data/RangeAxisData.java | 2 +-
.../gui/new_plotter/data/ValueSourceData.java | 2 +-
.../gui/new_plotter/engine/PlotEngine.java | 2 +-
.../engine/jfreechart/ChartAxisFactory.java | 2 +-
.../jfreechart/ChartDatasetFactory.java | 2 +-
.../jfreechart/ChartRendererFactory.java | 2 +-
.../jfreechart/JFreeChartPlotEngine.java | 2 +-
.../jfreechart/MultiAxesCrosshairOverlay.java | 2 +-
.../jfreechart/PlotInstanceLegendCreator.java | 2 +-
.../jfreechart/RenderFormatDelegate.java | 2 +-
.../actions/AddParallelLineAction.java | 2 +-
.../actions/ClearParallelLinesAction.java | 2 +-
.../jfreechart/actions/CopyChartAction.java | 2 +-
.../actions/ManageParallelLinesAction.java | 2 +-
.../jfreechart/actions/ManageZoomAction.java | 2 +-
...rceToMultiValueCategoryDatasetAdapter.java | 2 +-
.../legend/ColoredBlockContainer.java | 2 +-
.../legend/CustomLegendGraphic.java | 2 +-
.../jfreechart/legend/CustomLegendItem.java | 2 +-
.../legend/FlankedShapeLegendItem.java | 2 +-
.../jfreechart/legend/SmartLegendTitle.java | 2 +-
.../LinkAndBrushChartPanel.java | 2 +-
.../link_and_brush/axis/CustomDateAxis.java | 2 +-
.../axis/CustomLogarithmicAxis.java | 2 +-
.../link_and_brush/axis/CustomNumberAxis.java | 2 +-
.../link_and_brush/axis/CustomSymbolAxis.java | 2 +-
.../link_and_brush/axis/LinkAndBrushAxis.java | 2 +-
.../listener/LinkAndBrushListener.java | 2 +-
.../listener/LinkAndBrushSelection.java | 2 +-
.../LinkAndBrushSelectionListener.java | 2 +-
.../plots/LinkAndBrushCategoryPlot.java | 2 +-
.../plots/LinkAndBrushPlot.java | 2 +-
.../plots/LinkAndBrushXYPlot.java | 2 +-
.../renderer/FormattedAreaRenderer.java | 2 +-
.../renderer/FormattedBarRenderer.java | 2 +-
.../FormattedClusteredXYBarRenderer.java | 2 +-
.../renderer/FormattedDeviationRenderer.java | 2 +-
.../FormattedLineAndShapeRenderer.java | 2 +-
.../renderer/FormattedRenderer.java | 2 +-
.../renderer/FormattedScatterRenderer.java | 2 +-
.../FormattedStackedAreaRenderer.java | 2 +-
.../renderer/FormattedStackedBarRenderer.java | 2 +-
.../FormattedStackedXYAreaRenderer2.java | 2 +-
.../FormattedStackedXYBarRenderer.java | 2 +-
.../FormattedStatisticalBarRenderer.java | 2 +-
...mattedStatisticalLineAndShapeRenderer.java | 2 +-
.../renderer/FormattedXYAreaRenderer2.java | 2 +-
.../FormattedXYDifferenceRenderer.java | 2 +-
.../renderer/FormattedXYErrorRenderer.java | 2 +-
.../FormattedXYLineAndShapeRenderer.java | 2 +-
...sParallelLineConfigurationChangeEvent.java | 2 +-
.../gui/AbstractConfigurationPanel.java | 2 +-
.../AbstractTreeSelectionDependentPanel.java | 2 +-
.../AreaAndBarChartConfigurationPanel.java | 2 +-
.../gui/AttributeDropTextField.java | 2 +-
.../gui/AttributeSelectionDialog.java | 2 +-
.../gui/AxisConfigurationContainer.java | 2 +-
.../gui/ChartConfigurationPanel.java | 2 +-
.../gui/ChartTitleConfigurationContainer.java | 2 +-
.../new_plotter/gui/ColorSchemeDialog.java | 2 +-
.../new_plotter/gui/DimensionConfigPanel.java | 2 +-
.../gui/new_plotter/gui/FontDialog.java | 2 +-
.../gui/GlobalConfigurationPanel.java | 2 +-
.../gui/GroupingConfigurationPanel.java | 2 +-
.../gui/LegendConfigurationPanel.java | 2 +-
.../gui/LineChartConfigurationPanel.java | 2 +-
.../gui/PlotConfigurationTree.java | 2 +-
.../gui/PlotConfigurationTreeModel.java | 2 +-
.../new_plotter/gui/RangeAxisConfigPanel.java | 2 +-
.../gui/SeriesFormatConfigurationPanel.java | 2 +-
.../gui/ValueSourceConfigurationPanel.java | 2 +-
.../gui/WindowingConfigurationContainer.java | 2 +-
.../cellrenderer/ColorListCellRenderer.java | 2 +-
.../ColorRGBComboBoxCellRenderer.java | 2 +-
.../ColorSchemeComboBoxRenderer.java | 2 +-
.../cellrenderer/ComboSeparatorsRenderer.java | 2 +-
.../DataTableColumnListCellRenderer.java | 2 +-
.../EnumComboBoxCellRenderer.java | 2 +-
.../PlotConfigurationTreeCellRenderer.java | 2 +-
.../gui/cellrenderer/TreeNodeColors.java | 2 +-
.../gui/dialog/AddParallelLineDialog.java | 2 +-
.../gui/dialog/EditParallelLineDialog.java | 2 +-
.../gui/dialog/ManageParallelLinesDialog.java | 2 +-
.../gui/dialog/ManageZoomDialog.java | 2 +-
.../gui/dnd/DataTableColumnCollection.java | 2 +-
...DataTableColumnCollectionTransferable.java | 2 +-
...bleColumnDropTextFieldTransferHandler.java | 2 +-
.../DataTableColumnListTransferHandler.java | 2 +-
.../PlotConfigurationTreeTransferHandler.java | 2 +-
.../AbstractGroupingCardPanel.java | 2 +-
.../DistinctValueGroupingCardPanel.java | 2 +-
.../EqualDataFractionCardPanel.java | 2 +-
.../EquidistantFixedBinCountCardPanel.java | 2 +-
.../new_plotter/gui/popup/PopupAction.java | 2 +-
.../gui/popup/PopupComponentListener.java | 2 +-
.../gui/new_plotter/gui/popup/PopupPanel.java | 2 +-
.../treenodes/DimensionConfigTreeNode.java | 2 +-
.../treenodes/PlotConfigurationTreeNode.java | 2 +-
.../treenodes/RangeAxisConfigTreeNode.java | 2 +-
.../gui/treenodes/ValueSourceTreeNode.java | 2 +-
.../integration/ExpertDataTableRenderer.java | 2 +-
.../integration/PlotConfigurationHistory.java | 2 +-
.../AggregationWindowingListener.java | 2 +-
...AxisParallelLineConfigurationListener.java | 2 +-
.../listener/DimensionConfigListener.java | 2 +-
.../JFreeChartPlotEngineListener.java | 2 +-
.../listener/LegendConfigurationListener.java | 2 +-
.../listener/MasterOfDesasterListener.java | 2 +-
.../listener/PlotConfigurationListener.java | 2 +-
.../PlotConfigurationProcessingListener.java | 2 +-
.../listener/PlotInstanceChangedListener.java | 2 +-
.../listener/RangeAxisConfigListener.java | 2 +-
.../RenderFormatDelegateChangeListener.java | 2 +-
.../listener/SeriesFormatListener.java | 2 +-
.../listener/ValueGroupingListener.java | 2 +-
.../listener/ValueRangeListener.java | 2 +-
.../listener/ValueSourceListener.java | 2 +-
.../events/ConfigurationChangeEvent.java | 2 +-
.../events/DimensionConfigChangeEvent.java | 2 +-
.../LegendConfigurationChangeEvent.java | 2 +-
.../events/LineFormatChangeEvent.java | 2 +-
.../events/PlotConfigurationChangeEvent.java | 2 +-
.../events/RangeAxisConfigChangeEvent.java | 2 +-
.../events/SeriesFormatChangeEvent.java | 2 +-
.../events/ValueGroupingChangeEvent.java | 2 +-
.../events/ValueRangeChangeEvent.java | 2 +-
.../events/ValueSourceChangeEvent.java | 2 +-
.../new_plotter/templates/style/ColorRGB.java | 2 +-
.../templates/style/ColorScheme.java | 2 +-
.../templates/style/PlotterStyleProvider.java | 2 +-
.../utility/AbstractValueRange.java | 2 +-
.../utility/AggregatedValueRange.java | 2 +-
.../utility/CategoricalColorProvider.java | 2 +-
.../utility/CategoricalSizeProvider.java | 2 +-
.../new_plotter/utility/ColorProvider.java | 2 +-
.../utility/ContinuousColorProvider.java | 2 +-
.../utility/ContinuousSizeProvider.java | 2 +-
.../utility/DataStructureUtils.java | 2 +-
.../utility/DataTransformation.java | 2 +-
.../gui/new_plotter/utility/ListUtility.java | 2 +-
.../utility/NumericalValueRange.java | 2 +-
.../new_plotter/utility/SayNoValueRange.java | 2 +-
.../new_plotter/utility/ShapeProvider.java | 2 +-
.../utility/SingleValueValueRange.java | 2 +-
.../gui/new_plotter/utility/SizeProvider.java | 2 +-
.../gui/new_plotter/utility/SortProvider.java | 2 +-
.../gui/new_plotter/utility/ValueRange.java | 2 +-
.../gui/operatormenu/NewOperatorMenu.java | 2 +-
.../gui/operatormenu/OperatorGroupMenu.java | 2 +-
.../gui/operatormenu/OperatorMenu.java | 2 +-
.../gui/operatormenu/ReplaceOperatorMenu.java | 2 +-
.../gui/operatortree/OperatorTree.java | 2 +-
.../OperatorTreeCellRenderer.java | 2 +-
.../gui/operatortree/OperatorTreePanel.java | 2 +-
.../gui/operatortree/ProcessTreeModel.java | 2 +-
.../gui/operatortree/actions/ActionUtil.java | 2 +-
.../actions/CollapseAllAction.java | 2 +-
.../actions/CutCopyPasteDeleteAction.java | 2 +-
.../actions/DeleteOperatorAction.java | 2 +-
.../operatortree/actions/ExpandAllAction.java | 2 +-
.../actions/InfoOperatorAction.java | 2 +-
.../actions/ToggleActivationItem.java | 2 +-
.../actions/ToggleAllBreakpointsItem.java | 21 +-
.../actions/ToggleBreakpointItem.java | 2 +-
.../rapidminer/gui/plotter/AndrewsCurves.java | 2 +-
.../gui/plotter/AxisNameResolver.java | 2 +-
.../gui/plotter/AxisTransformation.java | 2 +-
.../gui/plotter/AxisTransformationId.java | 2 +-
.../gui/plotter/AxisTransformationLog.java | 2 +-
.../rapidminer/gui/plotter/BoundDiagram.java | 2 +-
.../gui/plotter/ColorPlotterPoint.java | 2 +-
.../rapidminer/gui/plotter/ColorProvider.java | 2 +-
.../plotter/ColorQuartileMatrixPlotter.java | 2 +-
.../gui/plotter/ColorQuartilePlotter.java | 2 +-
.../gui/plotter/CoordinateTransformation.java | 2 +-
.../gui/plotter/CoordinatesHandler.java | 2 +-
.../gui/plotter/DensityPlotter.java | 2 +-
.../gui/plotter/ExamplePlotterPoint.java | 2 +-
.../gui/plotter/GridVizPlotter.java | 2 +-
.../plotter/HeuristicPlotterConfigurator.java | 2 +-
.../rapidminer/gui/plotter/HintonDiagram.java | 2 +-
.../plotter/LabelRotatingPlotterAdapter.java | 2 +-
.../LocalNormalizationPlotterAdapter.java | 2 +-
.../com/rapidminer/gui/plotter/NameValue.java | 2 +-
.../plotter/NullCoordinateTransformation.java | 2 +-
.../gui/plotter/ParallelPlotter.java | 2 +-
.../java/com/rapidminer/gui/plotter/Plot.java | 2 +-
.../com/rapidminer/gui/plotter/Plotter.java | 2 +-
.../gui/plotter/PlotterAdapter.java | 2 +-
.../gui/plotter/PlotterChooser.java | 2 +-
.../plotter/PlotterConfigurationModel.java | 2 +-
.../plotter/PlotterConfigurationSettings.java | 2 +-
.../gui/plotter/PlotterControlPanel.java | 2 +-
.../rapidminer/gui/plotter/PlotterLegend.java | 2 +-
.../gui/plotter/PlotterMouseHandler.java | 2 +-
.../rapidminer/gui/plotter/PlotterPanel.java | 2 +-
.../rapidminer/gui/plotter/PlotterPoint.java | 2 +-
.../com/rapidminer/gui/plotter/Quartile.java | 2 +-
.../gui/plotter/QuartilePlotter.java | 2 +-
.../rapidminer/gui/plotter/RadVizPlotter.java | 2 +-
.../gui/plotter/RangeablePlotterAdapter.java | 2 +-
.../gui/plotter/RectangleStyle.java | 2 +-
.../gui/plotter/ScatterMatrixPlotter.java | 2 +-
.../gui/plotter/ScatterPlotter.java | 2 +-
.../gui/plotter/SimplePlotterDialog.java | 2 +-
.../gui/plotter/SimplePlotterPanelDialog.java | 2 +-
.../rapidminer/gui/plotter/SurveyPlotter.java | 2 +-
.../com/rapidminer/gui/plotter/ToolTip.java | 2 +-
.../rapidminer/gui/plotter/WeightIndex.java | 2 +-
.../charts/Abstract2DChartPlotter.java | 2 +-
.../plotter/charts/AbstractChartPanel.java | 2 +-
.../charts/AbstractPieChartPlotter.java | 2 +-
.../gui/plotter/charts/BarChartPlotter.java | 2 +-
.../gui/plotter/charts/BlockChartPlotter.java | 2 +-
.../plotter/charts/BubbleChartPlotter.java | 2 +-
.../charts/ChartPanelShiftController.java | 2 +-
.../plotter/charts/ColorizedBarRenderer.java | 2 +-
.../charts/ColorizedBubbleRenderer.java | 2 +-
.../charts/ColorizedLineAndShapeRenderer.java | 2 +-
.../charts/ColorizedShapeItemRenderer.java | 2 +-
.../plotter/charts/DeviationChartPlotter.java | 2 +-
.../plotter/charts/DistributionPlotter.java | 2 +-
.../gui/plotter/charts/HistogramChart.java | 2 +-
.../plotter/charts/HistogramColorChart.java | 2 +-
.../charts/MultipleScatterPlotter.java | 2 +-
.../charts/MultipleSeriesChartPlotter.java | 2 +-
.../gui/plotter/charts/ParallelPlotter2.java | 2 +-
.../charts/ParetoChartItemLabelGenerator.java | 2 +-
.../plotter/charts/ParetoChartPlotter.java | 2 +-
.../gui/plotter/charts/PieChart2DPlotter.java | 2 +-
.../gui/plotter/charts/PieChart3DPlotter.java | 2 +-
.../plotter/charts/PointsAndLinesDialog.java | 2 +-
.../gui/plotter/charts/RapidBarPainter.java | 2 +-
.../plotter/charts/RapidHistogramDataset.java | 2 +-
.../gui/plotter/charts/RapidXYBarPainter.java | 2 +-
.../gui/plotter/charts/RingChartPlotter.java | 2 +-
.../gui/plotter/charts/ScatterPlotter2.java | 2 +-
.../gui/plotter/charts/SelectablePlotter.java | 2 +-
.../plotter/charts/SeriesChartPlotter.java | 2 +-
.../charts/StackedBarChartPlotter.java | 2 +-
.../gui/plotter/charts/WebPlotter.java | 2 +-
.../plotter/charts/WeightBasedSymbolAxis.java | 2 +-
.../conditions/BasicPlotterCondition.java | 2 +-
.../conditions/ColumnsPlotterCondition.java | 2 +-
.../conditions/CombinedPlotterCondition.java | 2 +-
.../plotter/conditions/PlotterCondition.java | 2 +-
.../conditions/RowsPlotterCondition.java | 2 +-
.../gui/plotter/mathplot/BoxPlot2D.java | 2 +-
.../gui/plotter/mathplot/BoxPlot3D.java | 2 +-
.../gui/plotter/mathplot/JMathPlotter.java | 2 +-
.../gui/plotter/mathplot/JMathPlotter2D.java | 2 +-
.../gui/plotter/mathplot/JMathPlotter3D.java | 2 +-
.../gui/plotter/mathplot/ScatterPlot3D.java | 2 +-
.../plotter/mathplot/ScatterPlot3DColor.java | 2 +-
.../gui/plotter/mathplot/SticksPlot2D.java | 2 +-
.../gui/plotter/mathplot/SticksPlot3D.java | 2 +-
.../gui/plotter/mathplot/SurfacePlot3D.java | 2 +-
.../plotter/settings/ListeningJCheckBox.java | 2 +-
.../plotter/settings/ListeningJComboBox.java | 2 +-
.../plotter/settings/ListeningJSlider.java | 2 +-
.../settings/ListeningListSelectionModel.java | 2 +-
.../settings/PlotterSettingsHistory.java | 2 +-
.../gui/plotter/som/SOMClassColorizer.java | 2 +-
.../gui/plotter/som/SOMFireColorizer.java | 2 +-
.../gui/plotter/som/SOMGreyColorizer.java | 2 +-
.../plotter/som/SOMLandscapeColorizer.java | 2 +-
.../gui/plotter/som/SOMMatrixColorizer.java | 2 +-
.../gui/plotter/som/SOMPlotter.java | 2 +-
.../processeditor/ExtendedProcessEditor.java | 2 +-
.../gui/processeditor/MacroEditor.java | 2 +-
.../gui/processeditor/MacroViewer.java | 2 +-
.../gui/processeditor/NewOperatorEditor.java | 2 +-
.../processeditor/NewOperatorGroupTree.java | 2 +-
.../NewOperatorGroupTreeModel.java | 2 +-
.../NewOperatorGroupTreeRenderer.java | 2 +-
.../processeditor/ProcessContextEditor.java | 2 +-
.../ProcessContextProcessEditor.java | 2 +-
.../gui/processeditor/ProcessEditor.java | 2 +-
.../gui/processeditor/ProcessLogTab.java | 2 +-
.../RepositoryLocationsEditor.java | 2 +-
.../gui/processeditor/XMLEditor.java | 11 +-
.../results/DockableResultDisplay.java | 2 +-
.../ProcessExecutionResultOverview.java | 2 +-
.../processeditor/results/RapidBorder.java | 2 +-
.../processeditor/results/ResultDisplay.java | 2 +-
.../results/ResultDisplayTools.java | 2 +-
.../results/ResultLimitPanel.java | 2 +-
.../processeditor/results/ResultOverview.java | 2 +-
.../gui/processeditor/results/ResultTab.java | 2 +-
.../results/SingleResultOverview.java | 2 +-
.../search/OperatorGlobalSearch.java | 53 +
.../OperatorGlobalSearchGUIProvider.java | 248 +
.../search/OperatorGlobalSearchManager.java | 281 +
.../properties/AttributeOrderingDialog.java | 2 +-
.../properties/AttributesPropertyDialog.java | 2 +-
.../gui/properties/BasicPropertyTable.java | 2 +-
.../gui/properties/BetaFeaturesListener.java | 2 +-
.../CompatibilityLevelSpinnerModel.java | 2 +-
.../ConfigureParameterOptimizationDialog.java | 2 +-
...ureParameterOptimizationDialogCreator.java | 2 +-
.../gui/properties/DefaultPropertyTable.java | 2 +-
.../gui/properties/DefaultRMCellEditor.java | 2 +-
.../properties/EnumerationPropertyDialog.java | 2 +-
.../properties/EnumerationPropertyTable.java | 2 +-
.../properties/ExpressionPropertyDialog.java | 2 +-
.../gui/properties/FilterPropertyDialog.java | 2 +-
.../gui/properties/FilterTableModel.java | 2 +-
.../properties/FocusedComponentBorder.java | 2 +-
.../properties/FunctionDescriptionModel.java | 2 +-
.../properties/FunctionDescriptionPanel.java | 2 +-
.../gui/properties/FunctionInputPanel.java | 2 +-
.../gui/properties/FunctionInputsModel.java | 2 +-
.../gui/properties/GenericParameterPanel.java | 2 +-
.../gui/properties/ListPropertyDialog.java | 2 +-
.../gui/properties/ListPropertyTable.java | 2 +-
.../gui/properties/ListPropertyTable2.java | 2 +-
.../gui/properties/ListTableModel.java | 2 +-
.../gui/properties/MacroSelectionDialog.java | 2 +-
.../gui/properties/MatrixPropertyDialog.java | 2 +-
.../gui/properties/MatrixPropertyTable.java | 2 +-
.../properties/MatrixPropertyTableModel.java | 2 +-
.../gui/properties/OperatorPropertyPanel.java | 2 +-
.../properties/ParameterChangeListener.java | 2 +-
.../gui/properties/PropertyDialog.java | 2 +-
.../gui/properties/PropertyPanel.java | 2 +-
.../gui/properties/PropertyTable.java | 2 +-
.../PropertyTableParameterChangeListener.java | 2 +-
.../gui/properties/ProxyParameterSaver.java | 2 +-
.../gui/properties/RegexpPropertyDialog.java | 2 +-
.../gui/properties/SettingsDialog.java | 2 +-
.../gui/properties/SettingsItem.java | 2 +-
.../gui/properties/SettingsItems.java | 2 +-
.../gui/properties/SettingsPropertyPanel.java | 2 +-
.../gui/properties/SettingsTabs.java | 2 +-
.../gui/properties/SettingsXmlHandler.java | 2 +-
.../gui/properties/TextPropertyDialog.java | 2 +-
.../key/DefaultPropertyKeyRenderer.java | 2 +-
.../key/DelegationKeyCellEditor.java | 2 +-
.../key/ParameterValueKeyCellEditor.java | 2 +-
.../key/PropertyKeyCellEditor.java | 2 +-
.../AbstractSuggestionBoxValueCellEditor.java | 2 +-
.../celleditors/value/AttributeComboBox.java | 2 +-
.../value/AttributeFileValueCellEditor.java | 2 +-
.../value/AttributeOrderingCellEditor.java | 2 +-
.../value/AttributeValueCellEditor.java | 2 +-
.../value/AttributesValueCellEditor.java | 2 +-
.../value/ColorValueCellEditor.java | 2 +-
.../value/ConfigurableValueCellEditor.java | 2 +-
.../ConfigurationWizardValueCellEditor.java | 2 +-
.../value/CronExpressionCellEditor.java | 2 +-
.../value/DateFormatValueCellEditor.java | 2 +-
.../value/DateValueCellEditor.java | 2 +-
.../value/DefaultPropertyValueCellEditor.java | 2 +-
.../value/EnumerationValueCellEditor.java | 2 +-
.../value/ExpressionValueCellEditor.java | 2 +-
.../value/FileValueCellEditor.java | 2 +-
.../value/FilterValueCellEditor.java | 2 +-
.../value/InnerOperatorValueCellEditor.java | 2 +-
.../value/LinkButtonValueCellEditor.java | 2 +-
.../value/ListValueCellEditor.java | 2 +-
.../value/MatrixValueCellEditor.java | 2 +-
.../celleditors/value/OAuthDialog.java | 2 +-
.../value/OAuthValueCellEditor.java | 2 +-
.../value/OperatorValueValueCellEditor.java | 2 +-
.../value/ParameterTupelCellEditor.java | 2 +-
.../value/PreviewValueCellEditor.java | 2 +-
.../value/ProcessLocationValueCellEditor.java | 2 +-
.../value/PropertyValueCellEditor.java | 2 +-
.../value/RegexpValueCellEditor.java | 2 +-
.../value/RemoteFileValueCellEditor.java | 2 +-
.../RepositoryLocationValueCellEditor.java | 2 +-
.../value/SimpleFileValueCellEditor.java | 2 +-
.../SimpleSuggestionBoxValueCellEditor.java | 2 +-
.../value/TextValueCellEditor.java | 2 +-
.../gui/properties/tablepanel/TablePanel.java | 2 +-
.../implementations/CellTypeCheckBoxImpl.java | 2 +-
.../implementations/CellTypeComboBoxImpl.java | 2 +-
.../implementations/CellTypeDateImpl.java | 2 +-
.../implementations/CellTypeImplHelper.java | 2 +-
.../implementations/CellTypeRegexImpl.java | 2 +-
.../CellTypeTextFieldDefaultImpl.java | 2 +-
.../tablepanel/cells/interfaces/CellType.java | 2 +-
.../cells/interfaces/CellTypeCheckBox.java | 2 +-
.../cells/interfaces/CellTypeComboBox.java | 2 +-
.../cells/interfaces/CellTypeDate.java | 2 +-
.../cells/interfaces/CellTypeDateTime.java | 2 +-
.../cells/interfaces/CellTypeLabel.java | 2 +-
.../cells/interfaces/CellTypeRegex.java | 2 +-
.../interfaces/CellTypeTextFieldDefault.java | 2 +-
.../interfaces/CellTypeTextFieldInteger.java | 2 +-
.../CellTypeTextFieldNumerical.java | 2 +-
.../interfaces/CellTypeTextFieldTime.java | 2 +-
.../tablepanel/model/TablePanelModel.java | 2 +-
.../AbstractDataTablePlotterRenderer.java | 2 +-
.../AbstractDataTableTableRenderer.java | 2 +-
.../gui/renderer/AbstractGraphRenderer.java | 2 +-
.../gui/renderer/AbstractRenderer.java | 2 +-
.../AbstractTableModelTableRenderer.java | 2 +-
.../gui/renderer/AnnotationsRenderer.java | 2 +-
.../gui/renderer/AverageVectorRenderer.java | 2 +-
.../gui/renderer/CollectionRenderer.java | 2 +-
.../renderer/DefaultComponentRenderable.java | 2 +-
.../renderer/DefaultComponentRenderer.java | 2 +-
.../gui/renderer/DefaultReadable.java | 2 +-
.../gui/renderer/DefaultTextRenderer.java | 2 +-
.../gui/renderer/NonGraphicalRenderer.java | 2 +-
.../com/rapidminer/gui/renderer/Renderer.java | 2 +-
.../gui/renderer/RendererService.java | 127 +-
.../renderer/associations/GSPRenderer.java | 2 +-
.../ClusterModelCentroidPlotRenderer.java | 2 +-
.../ClusterModelCentroidTableRenderer.java | 2 +-
.../ClusterModelDendogrammRenderer.java | 2 +-
.../cluster/ClusterModelFolderRenderer.java | 2 +-
.../cluster/ClusterModelGraphRenderer.java | 2 +-
.../renderer/data/ExampleSetDataRenderer.java | 2 +-
.../data/ExampleSetMetaDataRenderer.java | 2 +-
.../renderer/data/ExampleSetPlotRenderer.java | 2 +-
.../AssociationRulesGraphRenderer.java | 2 +-
.../AssociationRulesTableRenderer.java | 2 +-
.../FrequentItemSetsTableRenderer.java | 2 +-
.../math/NumericalMatrixPairwiseRenderer.java | 2 +-
.../math/NumericalMatrixPlotRenderer.java | 2 +-
.../math/NumericalMatrixTableRenderer.java | 2 +-
.../math/RainflowMatrixPlotRenderer.java | 2 +-
.../math/RainflowMatrixTableRenderer.java | 2 +-
.../models/DelegationModelRenderer.java | 2 +-
.../models/DistributionModelPlotRenderer.java | 2 +-
.../DistributionModelTableRenderer.java | 2 +-
.../EigenvectorModelEigenvalueRenderer.java | 2 +-
.../EigenvectorModelEigenvectorRenderer.java | 2 +-
.../EigenvectorModelVariancePlotRenderer.java | 2 +-
.../models/HyperModelWeightsRenderer.java | 2 +-
.../models/HyperplaneModelRenderer.java | 2 +-
.../ImprovedNeuralNetModelRenderer.java | 2 +-
.../models/KernelModelPlotRenderer.java | 2 +-
.../KernelModelSupportVectorRenderer.java | 2 +-
.../models/KernelModelWeightsRenderer.java | 2 +-
.../LinearRegressionModelTableRenderer.java | 2 +-
...PolynomialRegressionModelPlotRenderer.java | 2 +-
...olynomialRegressionModelTableRenderer.java | 2 +-
.../renderer/models/MetaModelRenderer.java | 2 +-
.../gui/renderer/models/RuleSetRenderer.java | 2 +-
.../SVDModelCumulativePlotRenderer.java | 2 +-
.../models/SVDModelValueRenderer.java | 2 +-
.../models/SVDModelVectorRenderer.java | 2 +-
.../models/TreeModelGraphRenderer.java | 2 +-
.../AnovaCalculatorViewerRenderer.java | 2 +-
.../performance/AreaUnderCurveRenderer.java | 2 +-
...naryClassificationPerformanceRenderer.java | 2 +-
...ultiClassificationPerformanceRenderer.java | 2 +-
.../PerformanceVectorRenderer.java | 2 +-
.../performance/ROCComparisonRenderer.java | 2 +-
.../TTestSignificanceTestRenderer.java | 2 +-
...WeightedMultiClassPerformanceRenderer.java | 2 +-
.../similarity/SimilarityGraphRenderer.java | 2 +-
.../SimilarityHistogramRenderer.java | 2 +-
.../SimilarityKDistanceRenderer.java | 2 +-
.../similarity/SimilarityTableRenderer.java | 2 +-
.../visualization/AnovaMatrixRenderer.java | 2 +-
.../visualization/LiftChartRenderer.java | 2 +-
.../SOMModelVisualizationRenderer.java | 2 +-
.../TransitionGraphRenderer.java | 2 +-
.../weights/AttributeWeightsPlotRenderer.java | 2 +-
.../AttributeWeightsTableRenderer.java | 2 +-
.../com/rapidminer/gui/safemode/SafeMode.java | 2 +-
.../gui/safemode/SafeModeDialog.java | 2 +-
.../gui/search/GlobalSearchCategoryPanel.java | 348 ++
.../gui/search/GlobalSearchController.java | 259 +
.../gui/search/GlobalSearchDialog.java | 515 ++
.../gui/search/GlobalSearchGUIRegistry.java | 116 +
.../gui/search/GlobalSearchGUIUtilities.java | 148 +
.../gui/search/GlobalSearchPanel.java | 541 ++
.../search/GlobalSearchableGUIProvider.java | 150 +
.../gui/search/action/GlobalSearchAction.java | 60 +
.../event/GlobalSearchCategoryEvent.java | 66 +
.../event/GlobalSearchEventListener.java | 55 +
.../event/GlobalSearchInteractionEvent.java | 81 +
.../GlobalSearchInteractionListener.java | 41 +
.../search/event/GlobalSearchModelEvent.java | 67 +
.../gui/search/model/GlobalSearchModel.java | 373 ++
.../gui/search/model/GlobalSearchRow.java | 59 +
.../gui/security/CredentialsTableModel.java | 45 +-
.../gui/security/PasswordManager.java | 66 +-
.../gui/security/UserCredential.java | 26 +-
.../com/rapidminer/gui/security/Wallet.java | 191 +-
.../com/rapidminer/gui/tools/ArrowButton.java | 2 +-
.../gui/tools/AttributeGuiTools.java | 2 +-
.../gui/tools/AutoCompletionComboBox.java | 2 +-
.../gui/tools/BetaFeaturesIndicator.java | 2 +-
.../rapidminer/gui/tools/BrowserPopup.java | 2 +-
.../rapidminer/gui/tools/CamelCaseFilter.java | 2 +-
.../gui/tools/CamelCaseTypoFilter.java | 2 +-
.../gui/tools/CellColorProvider.java | 2 +-
.../tools/CellColorProviderAlternating.java | 2 +-
.../gui/tools/CellColorProviderScaled.java | 2 +-
.../gui/tools/CellColorProviderWhite.java | 2 +-
.../gui/tools/CellColorProviderYellow.java | 2 +-
.../rapidminer/gui/tools/CharTextField.java | 2 +-
.../gui/tools/ColoredJTextPane.java | 2 +-
.../gui/tools/ColoredTableCellRenderer.java | 2 +-
.../gui/tools/DefaultFrameIconProvider.java | 2 +-
.../rapidminer/gui/tools/DockingTools.java | 2 +-
.../gui/tools/EditBlockingProgressThread.java | 2 +-
.../gui/tools/ExtendedCheckTree.java | 2 +-
.../tools/ExtendedCheckTreeCellRenderer.java | 2 +-
...xtendedCheckTreeMouseSelectionManager.java | 2 +-
.../ExtendedCheckTreeSelectionModel.java | 2 +-
.../gui/tools/ExtendedFixedColumnJTable.java | 2 +-
.../gui/tools/ExtendedHTMLEditorKit.java | 2 +-
.../gui/tools/ExtendedHTMLJEditorPane.java | 2 +-
.../gui/tools/ExtendedJComboBox.java | 2 +-
.../gui/tools/ExtendedJFileChooser.java | 2 +-
.../rapidminer/gui/tools/ExtendedJList.java | 2 +-
.../gui/tools/ExtendedJScrollPane.java | 2 +-
.../rapidminer/gui/tools/ExtendedJSlider.java | 2 +-
.../gui/tools/ExtendedJSliderToolTips.java | 2 +-
.../gui/tools/ExtendedJTabbedPane.java | 2 +-
.../rapidminer/gui/tools/ExtendedJTable.java | 2 +-
.../ExtendedJTableColumnFitMouseListener.java | 2 +-
.../gui/tools/ExtendedJTablePacker.java | 2 +-
.../gui/tools/ExtendedJTableSorterModel.java | 2 +-
.../gui/tools/ExtendedJTextField.java | 2 +-
.../gui/tools/ExtendedJToolBar.java | 2 +-
.../gui/tools/ExtendedListCellRenderer.java | 2 +-
.../gui/tools/ExtendedListModel.java | 2 +-
.../gui/tools/ExtendedStyledDocument.java | 2 +-
.../gui/tools/ExtendedTriStateCheckBox.java | 2 +-
.../rapidminer/gui/tools/FilterListener.java | 2 +-
.../rapidminer/gui/tools/FilterTextField.java | 25 +-
.../gui/tools/FilterableListModel.java | 2 +-
.../gui/tools/FrameIconProvider.java | 2 +-
.../com/rapidminer/gui/tools/HTMLEditor.java | 2 +-
.../com/rapidminer/gui/tools/IconSize.java | 8 +-
.../com/rapidminer/gui/tools/ImagePanel.java | 2 +-
.../rapidminer/gui/tools/ImageTextPanel.java | 2 +-
.../com/rapidminer/gui/tools/Ionicon.java | 2 +-
.../gui/tools/JDelayedCalculationPanel.java | 2 +-
.../gui/tools/JRadioSelectionPanel.java | 2 +-
.../com/rapidminer/gui/tools/JavaEditor.java | 2 +-
.../rapidminer/gui/tools/LeanFormatter.java | 2 +-
.../rapidminer/gui/tools/ListHoverHelper.java | 2 +-
.../gui/tools/NotificationPopup.java | 2 +-
.../rapidminer/gui/tools/OperatorFilter.java | 2 +-
.../rapidminer/gui/tools/OperatorList.java | 2 +-
.../gui/tools/OperatorListCellRenderer.java | 19 +-
.../gui/tools/ParentButtonModel.java | 2 +-
.../gui/tools/ParentButtonPanel.java | 2 +-
.../rapidminer/gui/tools/PasswordDialog.java | 2 +-
.../rapidminer/gui/tools/PlainTextEditor.java | 2 +-
.../rapidminer/gui/tools/PrintingTools.java | 2 +-
.../rapidminer/gui/tools/ProcessGUITools.java | 2 +-
.../rapidminer/gui/tools/ProgressDisplay.java | 2 +-
.../rapidminer/gui/tools/ProgressMonitor.java | 2 +-
.../rapidminer/gui/tools/ProgressThread.java | 2 +-
.../gui/tools/ProgressThreadDialog.java | 2 +-
.../gui/tools/ProgressThreadDisplay.java | 2 +-
.../gui/tools/ProgressThreadListener.java | 2 +-
.../tools/ProgressThreadStateListener.java | 2 +-
.../tools/ProgressThreadStoppedException.java | 2 +-
.../com/rapidminer/gui/tools/Registry.java | 2 +-
.../rapidminer/gui/tools/RegistryEvent.java | 2 +-
.../gui/tools/RegistryListener.java | 2 +-
.../gui/tools/RepositoryEntryTextField.java | 2 +-
.../gui/tools/RepositoryGuiTools.java | 2 +-
.../rapidminer/gui/tools/ResourceAction.java | 63 +-
.../gui/tools/ResourceActionAdapter.java | 2 +-
.../gui/tools/ResourceActionTransmitter.java | 2 +-
.../rapidminer/gui/tools/ResourceDockKey.java | 2 +-
.../rapidminer/gui/tools/ResourceLabel.java | 2 +-
.../rapidminer/gui/tools/ResourceMenu.java | 2 +-
.../gui/tools/ResourceTabbedPane.java | 2 +-
.../ResultWarningPreventionRegistry.java | 2 +-
.../rapidminer/gui/tools/RowNumberTable.java | 2 +-
.../com/rapidminer/gui/tools/SQLEditor.java | 2 +-
.../rapidminer/gui/tools/ScaledImageIcon.java | 2 +-
.../gui/tools/ScrollableJPopupMenu.java | 2 +-
.../tools/SelectionNavigationListener.java | 2 +-
.../gui/tools/SimpleFileFilter.java | 2 +-
.../rapidminer/gui/tools/SplashScreen.java | 2 +-
.../com/rapidminer/gui/tools/StatusBar.java | 2 +-
.../com/rapidminer/gui/tools/SwingTools.java | 42 +-
.../rapidminer/gui/tools/SystemMonitor.java | 2 +-
.../gui/tools/TextFieldWithAction.java | 62 +-
.../com/rapidminer/gui/tools/TextPanel.java | 2 +-
.../gui/tools/TipOfTheDayProvider.java | 2 +-
.../rapidminer/gui/tools/TutorialTools.java | 2 +-
.../com/rapidminer/gui/tools/UpdateQueue.java | 2 +-
.../rapidminer/gui/tools/VersionNumber.java | 2 +-
.../com/rapidminer/gui/tools/ViewToolBar.java | 2 +-
.../com/rapidminer/gui/tools/XMLEditor.java | 2 +-
.../actions/AddToSortingColumnsAction.java | 2 +-
.../actions/EqualColumnWidthsAction.java | 2 +-
.../actions/FitAllColumnWidthsAction.java | 2 +-
.../tools/actions/FitColumnWidthAction.java | 2 +-
.../RestoreOriginalColumnOrderAction.java | 2 +-
.../gui/tools/actions/SelectColumnAction.java | 2 +-
.../gui/tools/actions/SelectRowAction.java | 2 +-
.../actions/SelectionDependentAction.java | 2 +-
.../gui/tools/actions/SortByColumnAction.java | 2 +-
.../SortColumnsAccordingToNameAction.java | 2 +-
.../AutoCompleteComboBoxAddition.java | 2 +-
.../gui/tools/bubble/BubbleWindow.java | 2 +-
.../gui/tools/bubble/ButtonBubble.java | 2 +-
.../tools/bubble/ComponentBubbleWindow.java | 2 +-
.../gui/tools/bubble/DockableBubble.java | 2 +-
.../gui/tools/bubble/OperatorInfoBubble.java | 2 +-
.../bubble/ParameterErrorInfoBubble.java | 2 +-
.../gui/tools/bubble/PortInfoBubble.java | 2 +-
.../gui/tools/bubble/WindowChoreographer.java | 2 +-
.../tools/components/AbstractLinkButton.java | 2 +-
.../tools/components/ButtonBarCardPanel.java | 2 +-
.../tools/components/ButtonDecotrator.java | 2 +-
.../rapidminer/gui/tools/components/Card.java | 2 +-
.../tools/components/CardCellRenderer.java | 2 +-
.../tools/components/CardSelectionEvent.java | 2 +-
.../components/CardSelectionListener.java | 2 +-
.../gui/tools/components/ColorIcon.java | 2 +-
.../components/ColorSelectionButton.java | 2 +-
.../components/ColorSelectionListener.java | 2 +-
.../gui/tools/components/DropDownButton.java | 2 +-
.../tools/components/DropDownPopupButton.java | 121 +-
.../tools/components/ExtendedCardLayout.java | 65 +
.../gui/tools/components/FancyButton.java | 2 +-
.../gui/tools/components/FancyConstants.java | 2 +-
.../tools/components/FancyDropDownButton.java | 2 +-
.../components/FixedWidthEditorPane.java | 2 +-
.../gui/tools/components/FixedWidthLabel.java | 2 +-
.../gui/tools/components/LinkButton.java | 2 +-
.../gui/tools/components/LinkLocalButton.java | 2 +-
.../tools/components/LinkRemoteButton.java | 2 +-
.../components/PlainArrowDropDownButton.java | 2 +-
.../components/PrintableComponentCard.java | 2 +-
.../gui/tools/components/ResourceCard.java | 2 +-
.../components/ToggleDropDownButton.java | 2 +-
.../gui/tools/components/ToolTipWindow.java | 2 +-
.../components/TransparentGlassPanePanel.java | 2 +-
.../components/composite/CompositeButton.java | 18 +-
.../composite/CompositeButtonPainter.java | 37 +-
.../composite/CompositeMenuToggleButton.java | 39 +-
.../composite/CompositeToggleButton.java | 2 +-
.../PerspectiveMenuToggleButton.java | 54 +-
.../composite/PerspectiveToggleGroup.java | 94 +-
.../components/composite/SplitButton.java | 2 +-
.../composite/ToggleButtonGroup.java | 2 +-
.../gui/tools/dialogs/AboutBox.java | 2 +-
.../gui/tools/dialogs/ButtonDialog.java | 2 +-
.../gui/tools/dialogs/ConfirmDialog.java | 2 +-
.../gui/tools/dialogs/DataImportDialog.java | 2 +-
.../DecisionRememberingConfirmDialog.java | 2 +-
.../gui/tools/dialogs/ErrorDialog.java | 2 +-
.../tools/dialogs/ExtendedErrorDialog.java | 2 +-
.../gui/tools/dialogs/InputDialog.java | 2 +-
.../gui/tools/dialogs/InputValidator.java | 2 +-
.../gui/tools/dialogs/LongMessageDialog.java | 2 +-
.../gui/tools/dialogs/MessageDialog.java | 2 +-
.../gui/tools/dialogs/MultiConfirmDialog.java | 2 +-
.../gui/tools/dialogs/MultiPageDialog.java | 2 +-
.../dialogs/RepositoryEntryInputDialog.java | 2 +-
.../gui/tools/dialogs/ResultViewDialog.java | 2 +-
.../gui/tools/dialogs/SelectionDialog.java | 2 +-
.../tools/dialogs/SelectionInputDialog.java | 2 +-
.../gui/tools/dialogs/SetParameterDialog.java | 2 +-
.../tools/dialogs/wizards/AbstractWizard.java | 2 +-
.../gui/tools/dialogs/wizards/WizardStep.java | 2 +-
.../AttributeSelectionWizardStep.java | 2 +-
.../wizards/dataimport/DataEditor.java | 2 +-
.../wizards/dataimport/DataImportWizard.java | 2 +-
.../dataimport/DataImportWizardFactory.java | 2 +-
.../dataimport/DataImportWizardRegistry.java | 2 +-
.../dataimport/FileSelectionWizardStep.java | 2 +-
.../dataimport/MetaDataDeclarationEditor.java | 2 +-
.../MetaDataDeclerationWizardStep.java | 2 +-
...RepositoryLocationSelectionWizardStep.java | 2 +-
.../dataimport/WizardCreationException.java | 2 +-
.../wizards/dataimport/csv/CSVFileReader.java | 2 +-
.../wizards/dataimport/csv/DataEvaluator.java | 2 +-
.../wizards/dataimport/csv/LineReader.java | 2 +-
.../excel/AnnotationCellEditor.java | 2 +-
.../IOObjectCacheEntryPanel.java | 2 +-
.../ioobjectcache/IOObjectCacheViewer.java | 2 +-
.../actions/ClearCacheAction.java | 2 +-
.../actions/OpenCacheEntryAction.java | 2 +-
.../actions/RemoveCacheEntryAction.java | 2 +-
.../gui/tools/logging/AbstractLogModel.java | 2 +-
.../tools/logging/AbstractPullLogModel.java | 2 +-
.../tools/logging/AbstractPushLogModel.java | 2 +-
.../gui/tools/logging/LogEntry.java | 2 +-
.../gui/tools/logging/LogHandlerModel.java | 2 +-
.../gui/tools/logging/LogModel.java | 2 +-
.../gui/tools/logging/LogModelRegistry.java | 2 +-
.../gui/tools/logging/LogRecordEntry.java | 2 +-
.../gui/tools/logging/LogSelectionModel.java | 2 +-
.../gui/tools/logging/LogUpdateException.java | 2 +-
.../gui/tools/logging/LogViewer.java | 2 +-
.../gui/tools/logging/SimpleLogEntry.java | 2 +-
.../logging/actions/ClearMessageAction.java | 2 +-
.../tools/logging/actions/LogCloseAction.java | 2 +-
.../logging/actions/LogRefreshAction.java | 2 +-
.../logging/actions/LogSearchAction.java | 2 +-
.../logging/actions/SaveLogFileAction.java | 2 +-
.../tools/syntax/BatchFileTokenMarker.java | 2 +-
.../gui/tools/syntax/CCTokenMarker.java | 2 +-
.../gui/tools/syntax/CTokenMarker.java | 2 +-
.../gui/tools/syntax/DefaultInputHandler.java | 2 +-
.../tools/syntax/ExpressionTokenMaker.java | 2 +-
.../gui/tools/syntax/HTMLTokenMarker.java | 2 +-
.../gui/tools/syntax/InputHandler.java | 2 +-
.../gui/tools/syntax/JEditTextArea.java | 2 +-
.../tools/syntax/JavaScriptTokenMarker.java | 2 +-
.../gui/tools/syntax/JavaTokenMarker.java | 2 +-
.../gui/tools/syntax/KeywordMap.java | 2 +-
.../gui/tools/syntax/MakefileTokenMarker.java | 2 +-
.../gui/tools/syntax/PHPTokenMarker.java | 2 +-
.../gui/tools/syntax/PatchTokenMarker.java | 2 +-
.../gui/tools/syntax/PerlTokenMarker.java | 2 +-
.../gui/tools/syntax/PropsTokenMarker.java | 2 +-
.../gui/tools/syntax/PythonTokenMarker.java | 2 +-
.../gui/tools/syntax/SQLTokenMarker.java | 2 +-
.../tools/syntax/ShellScriptTokenMarker.java | 2 +-
.../gui/tools/syntax/SyntaxDocument.java | 2 +-
.../gui/tools/syntax/SyntaxStyle.java | 2 +-
.../gui/tools/syntax/SyntaxUtilities.java | 2 +-
.../gui/tools/syntax/TSQLTokenMarker.java | 2 +-
.../gui/tools/syntax/TeXTokenMarker.java | 2 +-
.../gui/tools/syntax/TextAreaDefaults.java | 2 +-
.../gui/tools/syntax/TextAreaPainter.java | 2 +-
.../gui/tools/syntax/TextUtilities.java | 2 +-
.../rapidminer/gui/tools/syntax/Token.java | 2 +-
.../gui/tools/syntax/TokenMarker.java | 2 +-
.../gui/tools/syntax/XMLTokenMarker.java | 2 +-
.../gui/tools/table/EditableHeaderJTable.java | 2 +-
.../gui/tools/table/EditableTableHeader.java | 2 +-
.../table/EditableTableHeaderColumn.java | 2 +-
.../tools/table/EditableTableHeaderUI.java | 2 +-
.../gui/viewer/ANOVAMatrixViewer.java | 2 +-
.../gui/viewer/ANOVAMatrixViewerTable.java | 2 +-
.../viewer/ANOVAMatrixViewerTableModel.java | 2 +-
.../gui/viewer/AnovaCalculatorViewer.java | 2 +-
.../gui/viewer/AssociationRuleFilter.java | 2 +-
.../viewer/AssociationRuleFilterListener.java | 2 +-
.../gui/viewer/AssociationRuleTableModel.java | 2 +-
.../viewer/AssociationRuleTableViewer.java | 2 +-
.../gui/viewer/AverageVectorViewer.java | 2 +-
.../gui/viewer/ClusterTreeVisualization.java | 2 +-
.../gui/viewer/ConfusionMatrixViewer.java | 2 +-
.../viewer/ConfusionMatrixViewerTable.java | 2 +-
.../ConfusionMatrixViewerTableModel.java | 2 +-
.../gui/viewer/DataTableColumnEditTable.java | 2 +-
.../viewer/DataTableColumnEditTableModel.java | 2 +-
.../gui/viewer/DataTableViewer.java | 2 +-
.../gui/viewer/DataTableViewerTable.java | 2 +-
.../gui/viewer/DataTableViewerTableModel.java | 2 +-
.../com/rapidminer/gui/viewer/DataViewer.java | 2 +-
.../gui/viewer/DataViewerTable.java | 2 +-
.../gui/viewer/DataViewerTableModel.java | 2 +-
.../gui/viewer/DendrogramPlotter.java | 2 +-
.../viewer/FrequentItemSetVisualization.java | 2 +-
.../viewer/FrequentItemSetsTableModel.java | 2 +-
.../rapidminer/gui/viewer/MetaDataViewer.java | 2 +-
.../gui/viewer/MetaDataViewerTable.java | 2 +-
.../gui/viewer/MetaDataViewerTableModel.java | 2 +-
.../NumericalMatrixViewerTableModel.java | 2 +-
.../gui/viewer/PerformanceVectorViewer.java | 2 +-
.../gui/viewer/ROCChartPlotter.java | 2 +-
.../com/rapidminer/gui/viewer/ROCViewer.java | 2 +-
.../gui/viewer/RuleSetTableModel.java | 2 +-
.../SimilarityKDistanceVisualization.java | 2 +-
.../gui/viewer/SimilarityTable.java | 2 +-
.../gui/viewer/SimilarityTableModel.java | 2 +-
.../gui/viewer/SimilarityVisualization.java | 2 +-
.../CollectionTreeCellRenderer.java | 2 +-
.../collection/CollectionTreeElement.java | 2 +-
.../collection/CollectionTreeModel.java | 2 +-
.../viewer/collection/CollectionViewer.java | 2 +-
.../metadata/AttributeStatisticsPanel.java | 2 +-
.../MetaDataStatisticsController.java | 2 +-
.../metadata/MetaDataStatisticsViewer.java | 2 +-
.../metadata/actions/AttributePopupMenu.java | 2 +-
.../CopyAllMetaDataToClipboardAction.java | 2 +-
.../actions/CopyAttributeNameAction.java | 2 +-
.../actions/CopyDateTimeFromValueAction.java | 2 +-
.../actions/CopyDateTimeUntilValueAction.java | 2 +-
.../actions/CopyNumAvgValueAction.java | 2 +-
.../actions/CopyNumDeviationValueAction.java | 2 +-
.../actions/CopyNumMaximumValueAction.java | 2 +-
.../actions/CopyNumMinimumValueAction.java | 2 +-
.../metadata/actions/OpenChartAction.java | 2 +-
.../actions/ShowConstructionValueAction.java | 2 +-
.../metadata/actions/ShowNomValueAction.java | 2 +-
.../metadata/dialogs/NominalValueDialog.java | 2 +-
.../event/AttributeStatisticsEvent.java | 2 +-
.../AttributeStatisticsEventListener.java | 2 +-
.../event/MetaDataStatisticsEvent.java | 2 +-
.../MetaDataStatisticsEventListener.java | 2 +-
.../AbstractAttributeStatisticsModel.java | 2 +-
.../DateTimeAttributeStatisticsModel.java | 2 +-
.../model/MetaDataStatisticsModel.java | 2 +-
.../NominalAttributeStatisticsModel.java | 2 +-
.../model/NominalValueTableModel.java | 2 +-
.../NumericalAttributeStatisticsModel.java | 2 +-
.../wizards/AbstractConfigurationWizard.java | 2 +-
.../AbstractConfigurationWizardCreator.java | 2 +-
.../gui/wizards/ConfigurationListener.java | 2 +-
.../wizards/ConfigurationWizardCreator.java | 2 +-
.../ExampleSourceConfigurationWizard.java | 2 +-
...ConfigurationWizardAttributeTypeTable.java | 2 +-
...ampleSourceConfigurationWizardCreator.java | 2 +-
...pleSourceConfigurationWizardDataTable.java | 2 +-
...urceConfigurationWizardValueTypeTable.java | 2 +-
.../gui/wizards/PreviewCreator.java | 2 +-
.../gui/wizards/PreviewListener.java | 2 +-
src/main/java/com/rapidminer/io/Base64.java | 2 +-
.../process/AnnotationProcessXMLFilter.java | 2 +-
.../io/process/AutoModelProcessXMLFilter.java | 107 +
.../BackgroundImageProcessXMLFilter.java | 2 +-
.../io/process/GUIProcessXMLFilter.java | 2 +-
.../io/process/ProcessLayoutXMLFilter.java | 2 +-
.../io/process/ProcessXMLFilter.java | 2 +-
.../io/process/ProcessXMLFilterRegistry.java | 2 +-
.../io/process/XMLErrorHandler.java | 2 +-
.../rapidminer/io/process/XMLExporter.java | 2 +-
.../rapidminer/io/process/XMLImporter.java | 6 +-
.../com/rapidminer/io/process/XMLTools.java | 1514 +++---
.../conditions/ParameterEqualsCondition.java | 2 +-
.../ParameterUnequalsCondition.java | 2 +-
.../conditions/ParseRuleCondition.java | 2 +-
.../rules/AbstractConditionedParseRule.java | 2 +-
.../rules/AbstractGenericParseRule.java | 2 +-
.../io/process/rules/AbstractParseRule.java | 2 +-
.../rules/ChangeParameterValueRule.java | 2 +-
.../rules/DeleteAfterAutoWireRule.java | 2 +-
.../DeleteUnnecessaryOperatorChainRule.java | 2 +-
.../rules/ExcelCellAddressParseRule.java | 2 +-
.../rules/ExchangeSubprocessesRule.java | 2 +-
.../rules/OperatorEnablerRepairRule.java | 2 +-
.../io/process/rules/ParseRule.java | 2 +-
.../rules/PassthroughShortcutRule.java | 2 +-
.../rules/RenamePlotterParametersRule.java | 2 +-
.../rules/ReplaceIOMultiplierRule.java | 2 +-
.../io/process/rules/ReplaceOperatorRule.java | 2 +-
.../process/rules/ReplaceParameterRule.java | 2 +-
.../io/process/rules/SetParameterRule.java | 2 +-
.../io/process/rules/SetRoleByNameRule.java | 2 +-
.../process/rules/SwitchListEntriesRule.java | 2 +-
.../io/process/rules/WireAllOperators.java | 2 +-
.../com/rapidminer/io/remote/RemoteFile.java | 2 +-
.../io/remote/RemoteFileSystemView.java | 2 +-
.../AbstractExampleSetProcessing.java | 2 +-
.../rapidminer/operator/AbstractIOObject.java | 2 +-
.../rapidminer/operator/AbstractModel.java | 2 +-
.../com/rapidminer/operator/AddListener.java | 2 +-
.../com/rapidminer/operator/Annotations.java | 2 +-
.../operator/DataMacroDefinitionOperator.java | 2 +-
.../com/rapidminer/operator/DebugMode.java | 2 +-
.../operator/DefaultIODescription.java | 2 +-
.../rapidminer/operator/DummyOperator.java | 2 +-
.../operator/EnabledOperatorView.java | 2 +-
.../rapidminer/operator/ExecutionMode.java | 2 +-
.../rapidminer/operator/ExecutionUnit.java | 2 +-
.../rapidminer/operator/FileEchoOperator.java | 2 +-
.../com/rapidminer/operator/FlagUserData.java | 2 +-
.../com/rapidminer/operator/GroupedModel.java | 2 +-
.../operator/IOConsumeOperator.java | 2 +-
.../com/rapidminer/operator/IOContainer.java | 2 +-
.../rapidminer/operator/IODescription.java | 2 +-
.../com/rapidminer/operator/IOMerger.java | 2 +-
.../com/rapidminer/operator/IOMultiplier.java | 2 +-
.../operator/IOMultiplyOperator.java | 2 +-
.../com/rapidminer/operator/IOObject.java | 2 +-
.../operator/IOObjectCollection.java | 2 +-
.../operator/IOObjectConverter.java | 2 +-
.../com/rapidminer/operator/IOObjectMap.java | 2 +-
.../rapidminer/operator/IOObjectMapEvent.java | 2 +-
.../operator/IOPublishToAppOperator.java | 2 +-
.../operator/IORecallfromAppOperator.java | 2 +-
.../operator/IORetrievalOperator.java | 2 +-
.../rapidminer/operator/IOSelectOperator.java | 2 +-
.../operator/IOStorageOperator.java | 2 +-
.../operator/IllegalInputException.java | 2 +-
...llegalNumberOfInnerOperatorsException.java | 2 +-
.../rapidminer/operator/InputDescription.java | 2 +-
.../rapidminer/operator/ListDescription.java | 2 +-
.../operator/MacroConstructionOperator.java | 2 +-
.../operator/MacroDefinitionOperator.java | 2 +-
.../operator/MailNotSentException.java | 2 +-
.../rapidminer/operator/MemoryCleanUp.java | 2 +-
.../operator/MissingIOObjectException.java | 2 +-
.../java/com/rapidminer/operator/Model.java | 2 +-
.../com/rapidminer/operator/ModelApplier.java | 2 +-
.../com/rapidminer/operator/ModelGrouper.java | 2 +-
.../rapidminer/operator/ModelUngrouper.java | 2 +-
.../com/rapidminer/operator/ModelUpdater.java | 2 +-
.../com/rapidminer/operator/Operator.java | 2 +-
.../operator/OperatorCapability.java | 2 +-
.../rapidminer/operator/OperatorChain.java | 2 +-
.../operator/OperatorCreationException.java | 2 +-
.../operator/OperatorDescription.java | 5 +-
.../operator/OperatorException.java | 2 +-
.../rapidminer/operator/OperatorProgress.java | 2 +-
.../rapidminer/operator/OperatorVersion.java | 2 +-
.../rapidminer/operator/PortUserError.java | 6 +-
.../operator/ProcessRootOperator.java | 2 +-
.../operator/ProcessSetupError.java | 2 +-
.../operator/ProcessStoppedException.java | 2 +-
.../com/rapidminer/operator/ResultObject.java | 2 +-
.../operator/ResultObjectAdapter.java | 2 +-
.../operator/ScriptingOperator.java | 2 +-
.../operator/SimpleOperatorChain.java | 2 +-
.../operator/SimpleProcessSetupError.java | 2 +-
.../operator/SimpleResultObject.java | 2 +-
.../SingleMacroDefinitionOperator.java | 2 +-
.../operator/UnknownParameterInformation.java | 2 +-
.../UnsupportedApplicationParameterError.java | 2 +-
.../com/rapidminer/operator/UserData.java | 2 +-
.../com/rapidminer/operator/UserError.java | 6 +-
.../java/com/rapidminer/operator/Value.java | 2 +-
.../com/rapidminer/operator/ValueDouble.java | 2 +-
.../rapidminer/operator/ValueInterface.java | 2 +-
.../com/rapidminer/operator/ValueString.java | 2 +-
.../com/rapidminer/operator/ViewModel.java | 2 +-
.../WrongNumberOfInnerOperatorsException.java | 2 +-
...xampleSetResourceConsumptionEstimator.java | 2 +-
...xampleSetResourceConsumptionEstimator.java | 2 +-
.../annotation/PolynomialFunction.java | 2 +-
.../operator/annotation/ResourceConsumer.java | 2 +-
.../ResourceConsumptionEstimator.java | 2 +-
.../associations/AssociationRulesApplier.java | 2 +-
.../operator/clustering/Centroid.java | 9 +-
.../clustering/CentroidClusterModel.java | 2 +-
.../operator/clustering/Cluster.java | 2 +-
.../operator/clustering/ClusterModel.java | 6 +-
.../clustering/ClusterModel2ExampleSet.java | 2 +-
.../clustering/ClusterModelInterface.java | 2 +-
.../clustering/ClusterToPrediction.java | 2 +-
.../DendogramHierarchicalClusterModel.java | 2 +-
.../clustering/ExtractClusterPrototypes.java | 2 +-
.../clustering/FlatFuzzyClusterModel.java | 2 +-
.../clustering/FlattenClusterModel.java | 2 +-
.../HierarchicalClusterLeafNode.java | 2 +-
.../clustering/HierarchicalClusterModel.java | 2 +-
.../clustering/HierarchicalClusterNode.java | 2 +-
.../clusterer/AbstractClusterer.java | 2 +-
.../clusterer/AbstractLinkageMethod.java | 2 +-
.../clustering/clusterer/Agglomeration.java | 2 +-
.../clusterer/AgglomerativeClustering.java | 2 +-
.../clusterer/AverageLinkageMethod.java | 2 +-
.../clusterer/CompleteLinkageMethod.java | 2 +-
.../operator/clustering/clusterer/DBScan.java | 2 +-
.../clustering/clusterer/DistanceMatrix.java | 2 +-
.../clusterer/ExampleSet2ClusterModel.java | 2 +-
.../clustering/clusterer/FastKMeans.java | 2 +-
.../operator/clustering/clusterer/KMeans.java | 4 +-
.../clustering/clusterer/KMedoids.java | 2 +-
.../clustering/clusterer/KernelKMeans.java | 2 +-
.../clusterer/RMAbstractClusterer.java | 2 +-
.../clusterer/RandomClustering.java | 2 +-
.../clustering/clusterer/SVCExampleSet.java | 2 +-
.../clustering/clusterer/SVClustering.java | 2 +-
.../clusterer/SVClusteringAlgorithm.java | 2 +-
.../clusterer/SingleLinkageMethod.java | 2 +-
.../clusterer/TopDownClustering.java | 2 +-
.../operator/clustering/clusterer/XMeans.java | 2 +-
.../clusterer/soft/EMClusterer.java | 2 +-
.../CollectionIterationOperator.java | 2 +-
.../collections/CollectionOperator.java | 2 +-
.../collections/SelectionOperator.java | 2 +-
.../operator/collections/UnfoldOperator.java | 2 +-
.../internal/ParallelOperatorChain.java | 2 +-
.../condition/AllInnerOperatorCondition.java | 2 +-
.../CombinedInnerOperatorCondition.java | 2 +-
.../FirstInnerOperatorCondition.java | 2 +-
.../condition/InnerOperatorCondition.java | 2 +-
.../condition/LastInnerOperatorCondition.java | 2 +-
.../SimpleChainInnerOperatorCondition.java | 2 +-
.../SpecificInnerOperatorCondition.java | 2 +-
.../error/AttributeNotFoundError.java | 2 +-
.../error/AttributeWrongTypeError.java | 2 +-
.../operator/error/ParameterError.java | 2 +-
...rocessExecutionOperatorExceptionError.java | 2 +-
.../error/ProcessExecutionUserErrorError.java | 2 +-
.../operator/execution/FlowCleaner.java | 2 +-
.../operator/execution/FlowData.java | 2 +-
.../operator/execution/ProcessFlowFilter.java | 2 +-
.../execution/SimpleUnitExecutionFactory.java | 2 +-
.../execution/SimpleUnitExecutor.java | 2 +-
.../execution/UnitExecutionFactory.java | 2 +-
.../operator/execution/UnitExecutor.java | 2 +-
.../features/AbstractFeatureProcessing.java | 2 +-
.../features/AttributeWeightsApplier.java | 2 +-
.../operator/features/FeatureOperator.java | 2 +-
.../operator/features/Individual.java | 2 +-
.../operator/features/IndividualOperator.java | 2 +-
.../operator/features/KeepBest.java | 2 +-
.../operator/features/Population.java | 2 +-
.../features/PopulationEvaluator.java | 2 +-
.../operator/features/PopulationOperator.java | 2 +-
.../operator/features/PopulationPlotter.java | 2 +-
.../operator/features/RedundanceRemoval.java | 2 +-
.../features/SimplePopulationEvaluator.java | 2 +-
.../aggregation/AggregationCrossover.java | 2 +-
.../aggregation/AggregationIndividual.java | 2 +-
.../aggregation/AggregationMutation.java | 2 +-
...gregationNonDominatedSortingSelection.java | 2 +-
.../aggregation/AggregationSelection.java | 2 +-
.../AggregationTournamentSelection.java | 2 +-
.../EvolutionaryFeatureAggregation.java | 2 +-
.../operator/features/construction/AGA.java | 2 +-
.../AbstractFeatureConstruction.java | 2 +-
.../AbstractGeneratingGeneticAlgorithm.java | 2 +-
.../AttributeAggregationOperator.java | 2 +-
.../construction/AttributeConstruction.java | 2 +-
.../construction/AttributeGenerator.java | 2 +-
.../CompleteFeatureGenerationOperator.java | 2 +-
.../ConditionedFeatureGeneration.java | 2 +-
.../construction/ConstantGeneration.java | 2 +-
.../features/construction/DirectedGGA.java | 2 +-
.../DirectedGeneratingMutation.java | 2 +-
.../EquivalentAttributeRemoval.java | 2 +-
.../ExampleSetBasedFeatureOperator.java | 2 +-
.../ExampleSetBasedIndividual.java | 2 +-
.../ExampleSetBasedIndividualOperator.java | 2 +-
.../ExampleSetBasedPopulation.java | 2 +-
.../ExampleSetBasedPopulationOperator.java | 2 +-
.../ExampleSetBasedSelectionCrossover.java | 2 +-
.../ExampleSetBasedSelectionMutation.java | 2 +-
.../ExampleSetBasedTournamentSelection.java | 2 +-
.../features/construction/FourierGGA.java | 2 +-
.../FourierGeneratingMutation.java | 2 +-
.../construction/FourierGenerator.java | 2 +-
.../GaussFeatureConstructionOperator.java | 2 +-
.../GeneratingGeneticAlgorithm.java | 2 +-
.../construction/GeneratingMutation.java | 2 +-
.../LinearCombinationOperator.java | 2 +-
.../ProductGenerationOperator.java | 2 +-
.../construction/RemoveUselessAttributes.java | 2 +-
.../construction/UnbalancedCrossover.java | 2 +-
.../operator/features/construction/YAGGA.java | 2 +-
.../features/construction/YAGGA2.java | 2 +-
.../selection/AbstractFeatureSelection.java | 2 +-
.../selection/AbstractGeneticAlgorithm.java | 2 +-
.../selection/AttributeWeightSelection.java | 2 +-
.../BackwardAttributeEliminationOperator.java | 2 +-
.../selection/BackwardElimination.java | 2 +-
.../features/selection/BestSelection.java | 2 +-
.../selection/BoltzmannSelection.java | 2 +-
.../selection/BruteForceSelection.java | 2 +-
.../features/selection/CutSelection.java | 2 +-
.../selection/FeatureSelectionOperator.java | 2 +-
.../ForwardAttributeSelectionOperator.java | 2 +-
.../features/selection/ForwardSelection.java | 2 +-
.../selection/ForwardSelectionOperator.java | 2 +-
.../features/selection/GeneticAlgorithm.java | 2 +-
.../selection/IterativeFeatureAdding.java | 2 +-
.../NonDominatedSortingSelection.java | 2 +-
.../features/selection/RandomSelection.java | 2 +-
.../features/selection/RankSelection.java | 2 +-
.../selection/RemoveCorrelatedFeatures.java | 2 +-
.../selection/RemoveUselessFeatures.java | 2 +-
.../features/selection/RouletteWheel.java | 2 +-
.../selection/SaveIntermediateWeights.java | 2 +-
.../selection/SelectionCrossover.java | 2 +-
.../features/selection/SelectionMutation.java | 2 +-
.../StochasticUniversalSampling.java | 2 +-
.../selection/SwitchingForwardSelection.java | 2 +-
.../selection/TournamentSelection.java | 2 +-
.../features/selection/UniformSelection.java | 2 +-
.../WeightGuidedSelectionOperator.java | 2 +-
.../AbstractEigenvectorModel.java | 2 +-
.../AbstractFeatureTransformation.java | 2 +-
.../transformation/ComponentVector.java | 2 +-
.../ComponentWeightsCreatable.java | 2 +-
.../transformation/DimensionalityReducer.java | 2 +-
.../DimensionalityReducerModel.java | 2 +-
.../features/transformation/Eigenvector.java | 2 +-
.../features/transformation/FastICA.java | 2 +-
.../features/transformation/FastICAModel.java | 2 +-
.../transformation/FourierTransform.java | 2 +-
.../operator/features/transformation/GHA.java | 2 +-
.../features/transformation/GHAModel.java | 2 +-
.../JamaDimensionalityReduction.java | 2 +-
.../features/transformation/KernelPCA.java | 2 +-
.../transformation/KernelPCAModel.java | 2 +-
.../operator/features/transformation/PCA.java | 2 +-
.../features/transformation/PCAModel.java | 2 +-
.../SOMDimensionalityReduction.java | 2 +-
.../SOMDimensionalityReductionModel.java | 2 +-
.../features/transformation/SVDModel.java | 2 +-
.../features/transformation/SVDReduction.java | 2 +-
.../features/transformation/WeightVector.java | 2 +-
.../weighting/AbstractEntropyWeighting.java | 2 +-
.../features/weighting/AbstractWeighting.java | 2 +-
.../AttributeWeights2ExampleSet.java | 2 +-
.../features/weighting/BackwardWeighting.java | 2 +-
.../weighting/ChiSquaredWeighting.java | 2 +-
.../features/weighting/ComponentWeights.java | 2 +-
.../CorpusBasedFeatureWeighting.java | 2 +-
.../weighting/CorrelationWeighting.java | 2 +-
.../weighting/EvolutionaryWeighting.java | 2 +-
.../ExampleSet2AttributeWeights.java | 2 +-
.../features/weighting/FeatureWeighting.java | 2 +-
.../weighting/ForestBasedWeighting.java | 2 +-
.../features/weighting/ForwardWeighting.java | 2 +-
.../features/weighting/GiniWeighting.java | 2 +-
.../weighting/InfoGainRatioWeighting.java | 2 +-
.../features/weighting/InfoGainWeighting.java | 2 +-
.../InteractiveAttributeWeighting.java | 2 +-
.../weighting/NameBasedWeighting.java | 2 +-
.../weighting/OneRErrorWeighting.java | 2 +-
.../features/weighting/PCAWeighting.java | 2 +-
.../features/weighting/PSOWeighting.java | 2 +-
.../ProcessLog2AttributeWeights.java | 2 +-
.../features/weighting/ReliefWeighting.java | 2 +-
.../features/weighting/SVMWeighting.java | 2 +-
.../features/weighting/SimpleWeighting.java | 2 +-
.../weighting/StandardDeviationWeighting.java | 2 +-
.../SymmetricalUncertaintyOperator.java | 2 +-
.../features/weighting/VarianceAdaption.java | 2 +-
.../features/weighting/WeightingMutation.java | 2 +-
.../operator/filesystem/CopyFileOperator.java | 2 +-
.../filesystem/CreateDirectoryOperator.java | 2 +-
.../filesystem/DeleteFileOperator.java | 2 +-
.../operator/filesystem/MoveFileOperator.java | 2 +-
.../filesystem/RenameFileOperator.java | 2 +-
.../CheckerboardClassificationFunction.java | 2 +-
.../ChurnReductionExampleSetGenerator.java | 2 +-
.../generator/ClassificationFunction.java | 2 +-
.../operator/generator/Cluster.java | 2 +-
.../operator/generator/ClusterFunction.java | 2 +-
.../generator/ComplicatedFunction.java | 2 +-
.../generator/ComplicatedFunction2.java | 2 +-
.../DirectMailingExampleSetGenerator.java | 2 +-
.../rapidminer/operator/generator/Dot.java | 2 +-
.../generator/DrillerOscillationFunction.java | 2 +-
.../generator/ExampleSetGenerator.java | 2 +-
.../operator/generator/GaussianFunction.java | 2 +-
.../generator/GaussianMixtureFunction.java | 2 +-
.../GlobalAndLocalPatternsFunction.java | 2 +-
.../operator/generator/GridFunction.java | 2 +-
.../InteractionClassificationFunction.java | 2 +-
.../generator/MassiveDataGenerator.java | 2 +-
.../MultiClassificationFunction.java | 2 +-
.../generator/MultipleLabelGenerator.java | 2 +-
.../generator/NominalExampleSetGenerator.java | 2 +-
.../operator/generator/NonLinearFunction.java | 2 +-
.../generator/OneThirdClassification.java | 2 +-
.../OneVariableNonLinearFunction.java | 2 +-
.../PolynomialClassificationFunction.java | 2 +-
.../generator/PolynomialFunction.java | 2 +-
.../QuadraticClassificationFunction.java | 2 +-
.../RandomClassificationFunction.java | 2 +-
.../RandomDotsClassificationFunction.java | 2 +-
.../operator/generator/RandomFunction.java | 2 +-
.../generator/RegressionFunction.java | 2 +-
.../generator/RingClusteringFunction.java | 2 +-
.../generator/SalesExampleSetGenerator.java | 2 +-
...SimpleNonLinearClassificationFunction.java | 2 +-
...implePolynomialClassificationFunction.java | 2 +-
.../generator/SimpleSinusFunction.java | 2 +-
.../SimpleSuperpositionFunction.java | 2 +-
.../operator/generator/SincFunction.java | 2 +-
.../SinusClassificationFunction.java | 2 +-
.../generator/SinusFrequencyFunction.java | 2 +-
.../operator/generator/SinusFunction.java | 2 +-
.../generator/SinusWithTrendFunction.java | 2 +-
.../generator/SpiralClusteringFunction.java | 2 +-
.../generator/SquarePulseFunction.java | 2 +-
.../generator/SumClassificationFunction.java | 2 +-
.../operator/generator/SumFunction.java | 2 +-
.../operator/generator/TargetFunction.java | 2 +-
.../TeamProfitExampleSetGenerator.java | 2 +-
...ransactionClustersExampleSetGenerator.java | 2 +-
.../generator/TransactionDatasetFunction.java | 2 +-
.../TransfersExampleSetGenerator.java | 2 +-
.../generator/TriangularFunction.java | 2 +-
.../TwoGaussiansClassificationFunction.java | 2 +-
.../UpSellingExampleSetGenerator.java | 2 +-
.../UserSpecificationDataGenerator.java | 2 +-
.../internal/ProcessEmbeddingOperator.java | 2 +-
.../operator/io/AbstractDataReader.java | 2 +-
.../operator/io/AbstractExampleSetWriter.java | 2 +-
.../operator/io/AbstractExampleSource.java | 2 +-
.../operator/io/AbstractModelLoader.java | 2 +-
.../operator/io/AbstractReader.java | 2 +-
.../operator/io/AbstractStreamWriter.java | 2 +-
.../operator/io/AbstractWriter.java | 2 +-
.../io/AppendingExampleSetWriter.java | 2 +-
.../operator/io/BytewiseExampleSource.java | 2 +-
.../operator/io/CSVExampleSetWriter.java | 2 +-
.../operator/io/CSVExampleSource.java | 2 +-
.../operator/io/ExampleSetWriter.java | 2 +-
.../rapidminer/operator/io/ExampleSource.java | 18 +-
.../operator/io/ExcelExampleSetWriter.java | 6 +-
.../operator/io/IOContainerReader.java | 2 +-
.../rapidminer/operator/io/OutputTypes.java | 2 +-
.../operator/io/RepositorySource.java | 2 +-
.../operator/io/RepositoryStorer.java | 2 +-
.../rapidminer/operator/io/ResultWriter.java | 2 +-
.../operator/io/SimpleExampleSource.java | 2 +-
.../io/SpecialFormatExampleSetWriter.java | 2 +-
.../operator/io/URLExampleSource.java | 2 +-
.../operator/learner/AbstractLearner.java | 2 +-
.../operator/learner/CapabilityCheck.java | 2 +-
.../operator/learner/CapabilityProvider.java | 2 +-
.../operator/learner/FormulaProvider.java | 2 +-
.../rapidminer/operator/learner/Learner.java | 2 +-
.../operator/learner/PredictionModel.java | 2 +-
.../learner/SimpleBinaryPredictionModel.java | 2 +-
.../learner/SimplePredictionModel.java | 2 +-
.../learner/UpdateablePredictionModel.java | 2 +-
.../learner/associations/AssociationRule.java | 2 +-
.../AssociationRuleGenerator.java | 2 +-
.../associations/AssociationRules.java | 2 +-
.../associations/BooleanAttributeItem.java | 2 +-
.../learner/associations/FrequentItemSet.java | 2 +-
.../FrequentItemSetAttributeCreator.java | 2 +-
.../FrequentItemSetUnificator.java | 2 +-
.../associations/FrequentItemSets.java | 2 +-
.../associations/FrequentItemSetsToData.java | 2 +-
.../operator/learner/associations/Item.java | 2 +-
.../learner/associations/PowerSet.java | 2 +-
.../associations/fpgrowth/FPGrowth.java | 2 +-
.../learner/associations/fpgrowth/FPTree.java | 2 +-
.../associations/fpgrowth/FPTreeNode.java | 2 +-
.../associations/fpgrowth/FrequencyStack.java | 2 +-
.../learner/associations/fpgrowth/Header.java | 2 +-
.../fpgrowth/ListFrequencyStack.java | 2 +-
.../gsp/CountingInformations.java | 2 +-
.../associations/gsp/DataSequence.java | 2 +-
.../learner/associations/gsp/GSPOperator.java | 2 +-
.../learner/associations/gsp/GSPSet.java | 2 +-
.../associations/gsp/HashTreeInnerNode.java | 2 +-
.../associations/gsp/HashTreeLeafNode.java | 2 +-
.../associations/gsp/HashTreeNode.java | 2 +-
.../associations/gsp/HashTreeRootNode.java | 2 +-
.../learner/associations/gsp/Item.java | 2 +-
.../learner/associations/gsp/Sequence.java | 2 +-
.../learner/associations/gsp/Transaction.java | 2 +-
.../associations/gsp/TransactionSet.java | 2 +-
.../learner/bayes/DiscriminantModel.java | 2 +-
.../learner/bayes/DistributionModel.java | 2 +-
.../bayes/KernelDistributionModel.java | 2 +-
.../learner/bayes/KernelNaiveBayes.java | 2 +-
.../bayes/LinearDiscriminantAnalysis.java | 2 +-
.../operator/learner/bayes/NaiveBayes.java | 2 +-
.../bayes/QuadraticDiscriminantAnalysis.java | 2 +-
.../RegularizedDiscriminantAnalysis.java | 19 +-
.../bayes/SimpleDistributionModel.java | 2 +-
.../learner/functions/FastLargeMargin.java | 2 +-
.../learner/functions/FastMarginModel.java | 2 +-
.../learner/functions/HyperplaneModel.java | 2 +-
.../functions/LinearRegressionModel.java | 2 +-
.../learner/functions/LogisticRegression.java | 2 +-
.../functions/LogisticRegressionModel.java | 2 +-
.../LogisticRegressionOptimization.java | 2 +-
.../learner/functions/Perceptron.java | 2 +-
.../functions/PolynomialRegression.java | 2 +-
.../functions/PolynomialRegressionModel.java | 2 +-
.../SeeminglyUnrelatedRegressionModel.java | 2 +-
.../SeeminglyUnrelatedRegressionOperator.java | 2 +-
.../functions/VectorLinearRegression.java | 2 +-
.../functions/VectorRegressionModel.java | 2 +-
.../kernel/AbstractKernelBasedLearner.java | 2 +-
.../kernel/AbstractMySVMLearner.java | 2 +-
.../functions/kernel/AbstractMySVMModel.java | 2 +-
.../learner/functions/kernel/GPLearner.java | 2 +-
.../learner/functions/kernel/GPModel.java | 2 +-
.../functions/kernel/JMySVMLearner.java | 2 +-
.../learner/functions/kernel/JMySVMModel.java | 2 +-
.../kernel/KernelLogisticRegression.java | 2 +-
.../kernel/KernelLogisticRegressionModel.java | 2 +-
.../KernelLogisticRegressionOptimization.java | 2 +-
.../learner/functions/kernel/KernelModel.java | 2 +-
.../functions/kernel/LibSVMLearner.java | 2 +-
.../learner/functions/kernel/LibSVMModel.java | 2 +-
.../functions/kernel/LinearMySVMLearner.java | 2 +-
.../functions/kernel/LinearMySVMModel.java | 2 +-
.../functions/kernel/MyKLRLearner.java | 4 +-
.../learner/functions/kernel/MyKLRModel.java | 2 +-
.../learner/functions/kernel/RVMLearner.java | 2 +-
.../learner/functions/kernel/RVMModel.java | 2 +-
.../functions/kernel/SupportVector.java | 2 +-
.../evosvm/ClassificationEvoOptimization.java | 2 +-
.../ClassificationOptimizationFunction.java | 2 +-
.../kernel/evosvm/EvoOptimization.java | 2 +-
.../functions/kernel/evosvm/EvoSVM.java | 2 +-
.../functions/kernel/evosvm/EvoSVMModel.java | 2 +-
.../kernel/evosvm/OptimizationFunction.java | 2 +-
.../functions/kernel/evosvm/PSOSVM.java | 2 +-
.../kernel/evosvm/PSOSVMOptimization.java | 2 +-
.../evosvm/RegressionEvoOptimization.java | 2 +-
.../RegressionOptimizationFunction.java | 2 +-
.../kernel/gaussianprocess/GPBase.java | 2 +-
.../kernel/gaussianprocess/Model.java | 2 +-
.../kernel/gaussianprocess/Parameter.java | 2 +-
.../kernel/gaussianprocess/Problem.java | 2 +-
.../kernel/gaussianprocess/Regression.java | 2 +-
.../gaussianprocess/RegressionProblem.java | 2 +-
.../kernel/hyperhyper/HyperHyper.java | 2 +-
.../kernel/hyperhyper/HyperModel.java | 2 +-
.../kernel/jmysvm/examples/SVMExample.java | 2 +-
.../kernel/jmysvm/examples/SVMExamples.java | 2 +-
.../kernel/jmysvm/kernel/Kernel.java | 2 +-
.../kernel/jmysvm/kernel/KernelAnova.java | 2 +-
.../kernel/jmysvm/kernel/KernelDot.java | 2 +-
.../jmysvm/kernel/KernelEpanechnikov.java | 2 +-
.../kernel/KernelGaussianCombination.java | 2 +-
.../jmysvm/kernel/KernelMultiquadric.java | 2 +-
.../kernel/jmysvm/kernel/KernelNeural.java | 2 +-
.../jmysvm/kernel/KernelPolynomial.java | 2 +-
.../kernel/jmysvm/kernel/KernelRadial.java | 2 +-
.../jmysvm/optimizer/QuadraticProblem.java | 2 +-
.../jmysvm/optimizer/QuadraticProblemSMO.java | 2 +-
.../functions/kernel/jmysvm/svm/SVM.java | 2 +-
.../kernel/jmysvm/svm/SVMInterface.java | 2 +-
.../kernel/jmysvm/svm/SVMpattern.java | 2 +-
.../kernel/jmysvm/svm/SVMregression.java | 2 +-
.../functions/kernel/jmysvm/util/Cache.java | 2 +-
.../functions/kernel/jmysvm/util/Heap.java | 2 +-
.../functions/kernel/jmysvm/util/MaxHeap.java | 2 +-
.../functions/kernel/jmysvm/util/MinHeap.java | 2 +-
.../functions/kernel/logistic/KLR.java | 2 +-
.../kernel/rvm/ClassificationProblem.java | 2 +-
.../kernel/rvm/ConstructiveRegression.java | 2 +-
.../learner/functions/kernel/rvm/Model.java | 2 +-
.../functions/kernel/rvm/Parameter.java | 2 +-
.../learner/functions/kernel/rvm/Problem.java | 2 +-
.../learner/functions/kernel/rvm/RVMBase.java | 2 +-
.../kernel/rvm/RVMClassification.java | 2 +-
.../functions/kernel/rvm/RVMRegression.java | 2 +-
.../kernel/rvm/RegressionProblem.java | 2 +-
.../functions/kernel/rvm/kernel/Kernel.java | 2 +-
.../rvm/kernel/KernelBasisFunction.java | 2 +-
.../kernel/rvm/kernel/KernelCauchy.java | 2 +-
.../kernel/rvm/kernel/KernelEpanechnikov.java | 2 +-
.../rvm/kernel/KernelGaussianCombination.java | 2 +-
.../kernel/rvm/kernel/KernelLaplace.java | 2 +-
.../kernel/rvm/kernel/KernelMultiquadric.java | 2 +-
.../kernel/rvm/kernel/KernelPoly.java | 2 +-
.../kernel/rvm/kernel/KernelRadial.java | 2 +-
.../kernel/rvm/kernel/KernelSigmoid.java | 2 +-
.../rvm/util/SECholeskyDecomposition.java | 2 +-
.../linear/GreedyLinearRegressionMethod.java | 8 +-
.../IterativeTTestLinearRegressionMethod.java | 4 +-
.../functions/linear/LinearRegression.java | 4 +-
.../linear/LinearRegressionMethod.java | 2 +-
.../linear/M5PLinearRegressionMethod.java | 8 +-
.../linear/PlainLinearRegressionMethod.java | 2 +-
.../linear/TTestLinearRegressionMethod.java | 6 +-
.../neuralnet/ActivationFunction.java | 2 +-
.../neuralnet/ImprovedNeuralNetLearner.java | 2 +-
.../neuralnet/ImprovedNeuralNetModel.java | 2 +-
.../ImprovedNeuralNetVisualizer.java | 2 +-
.../functions/neuralnet/InnerNode.java | 2 +-
.../functions/neuralnet/InputNode.java | 2 +-
.../functions/neuralnet/LinearFunction.java | 2 +-
.../learner/functions/neuralnet/Node.java | 2 +-
.../functions/neuralnet/OutputNode.java | 2 +-
.../functions/neuralnet/SigmoidFunction.java | 2 +-
.../operator/learner/igss/IGSSResult.java | 2 +-
.../operator/learner/igss/IteratingGSS.java | 2 +-
.../operator/learner/igss/Result.java | 2 +-
.../learner/igss/hypothesis/GSSModel.java | 2 +-
.../learner/igss/hypothesis/Hypothesis.java | 2 +-
.../learner/igss/hypothesis/Literal.java | 2 +-
.../learner/igss/hypothesis/Rule.java | 2 +-
.../learner/igss/utility/AbstractUtility.java | 2 +-
.../learner/igss/utility/Accuracy.java | 2 +-
.../learner/igss/utility/Binomial.java | 2 +-
.../learner/igss/utility/Coverage.java | 2 +-
.../igss/utility/InstanceAveraging.java | 2 +-
.../operator/learner/igss/utility/Linear.java | 2 +-
.../learner/igss/utility/Squared.java | 2 +-
.../learner/igss/utility/Utility.java | 2 +-
.../operator/learner/igss/utility/WRAcc.java | 2 +-
.../lazy/AttributeBasedVotingLearner.java | 2 +-
.../lazy/AttributeBasedVotingModel.java | 2 +-
.../learner/lazy/AttributeDefaultModel.java | 2 +-
.../operator/learner/lazy/DefaultLearner.java | 2 +-
.../operator/learner/lazy/DefaultModel.java | 2 +-
.../learner/lazy/KNNClassificationModel.java | 2 +-
.../operator/learner/lazy/KNNLearner.java | 2 +-
.../learner/lazy/KNNRegressionModel.java | 2 +-
.../learner/local/AtLeastNeighborhood.java | 2 +-
.../learner/local/DistanceNeighborhood.java | 2 +-
.../local/LocalPolynomialRegressionModel.java | 2 +-
.../LocalPolynomialRegressionOperator.java | 2 +-
.../local/NearestNeighborNeighborhood.java | 2 +-
.../operator/learner/local/Neighborhood.java | 2 +-
.../operator/learner/local/Neighborhoods.java | 2 +-
.../learner/local/RelativeNeighborhood.java | 2 +-
.../learner/meta/AbstractMetaLearner.java | 2 +-
.../learner/meta/AbstractStacking.java | 2 +-
.../operator/learner/meta/AdaBoost.java | 2 +-
.../operator/learner/meta/AdaBoostModel.java | 2 +-
.../meta/AdaBoostPerformanceMeasures.java | 2 +-
.../learner/meta/AdditiveRegression.java | 2 +-
.../learner/meta/AdditiveRegressionModel.java | 2 +-
.../operator/learner/meta/Bagging.java | 2 +-
.../operator/learner/meta/BaggingModel.java | 2 +-
.../learner/meta/BayBoostBaseModelInfo.java | 2 +-
.../operator/learner/meta/BayBoostModel.java | 2 +-
.../operator/learner/meta/BayBoostStream.java | 2 +-
.../learner/meta/BayesianBoosting.java | 2 +-
.../meta/Binary2MultiClassLearner.java | 2 +-
.../learner/meta/Binary2MultiClassModel.java | 2 +-
.../meta/ClassificationByRegression.java | 2 +-
.../learner/meta/ConfidenceVoteModel.java | 2 +-
.../learner/meta/ContingencyMatrix.java | 2 +-
.../meta/CostBasedThresholdLearner.java | 2 +-
.../learner/meta/DelegationModel.java | 2 +-
.../learner/meta/HierarchicalLearner.java | 2 +-
.../learner/meta/HierarchicalModel.java | 2 +-
.../meta/HierarchicalMultiClassLearner.java | 2 +-
.../meta/HierarchicalMultiClassModel.java | 2 +-
.../operator/learner/meta/MetaCost.java | 2 +-
.../operator/learner/meta/MetaCostModel.java | 2 +-
.../operator/learner/meta/MetaModel.java | 2 +-
.../learner/meta/MultiModelByRegression.java | 2 +-
.../learner/meta/RelativeRegression.java | 2 +-
.../learner/meta/RelativeRegressionModel.java | 2 +-
.../operator/learner/meta/SDEnsemble.java | 2 +-
.../learner/meta/SDReweightMeasures.java | 2 +-
.../learner/meta/SDRulesetInduction.java | 2 +-
.../learner/meta/SimpleVoteModel.java | 2 +-
.../operator/learner/meta/Stacking.java | 2 +-
.../operator/learner/meta/StackingModel.java | 2 +-
.../operator/learner/meta/ThresholdModel.java | 2 +-
.../learner/meta/TransformedRegression.java | 2 +-
.../meta/TransformedRegressionModel.java | 2 +-
.../learner/meta/Tree2RuleConverter.java | 2 +-
.../operator/learner/meta/Vote.java | 2 +-
.../meta/WeightedPerformanceMeasures.java | 2 +-
.../learner/rules/AbstractCriterion.java | 2 +-
.../learner/rules/AccuracyCriterion.java | 2 +-
.../learner/rules/BestRuleInduction.java | 2 +-
.../learner/rules/ConjunctiveRuleModel.java | 2 +-
.../operator/learner/rules/Criterion.java | 2 +-
.../learner/rules/InfoGainCriterion.java | 2 +-
.../learner/rules/NumericalSplitter.java | 2 +-
.../operator/learner/rules/Rule.java | 2 +-
.../operator/learner/rules/RuleLearner.java | 2 +-
.../operator/learner/rules/RuleModel.java | 2 +-
.../learner/rules/SimpleRuleLearner.java | 2 +-
.../learner/rules/SingleRuleLearner.java | 2 +-
.../operator/learner/rules/Split.java | 2 +-
.../learner/rules/TermDetermination.java | 2 +-
.../operator/learner/subgroups/RuleSet.java | 2 +-
.../learner/subgroups/SubgroupDiscovery.java | 2 +-
.../subgroups/hypothesis/Hypothesis.java | 2 +-
.../learner/subgroups/hypothesis/Literal.java | 2 +-
.../learner/subgroups/hypothesis/Rule.java | 2 +-
.../learner/subgroups/utility/Accuracy.java | 2 +-
.../learner/subgroups/utility/Bias.java | 2 +-
.../learner/subgroups/utility/Binomial.java | 2 +-
.../learner/subgroups/utility/Coverage.java | 2 +-
.../learner/subgroups/utility/Lift.java | 2 +-
.../learner/subgroups/utility/Odds.java | 2 +-
.../learner/subgroups/utility/OddsRatio.java | 2 +-
.../learner/subgroups/utility/Precision.java | 2 +-
.../learner/subgroups/utility/Squared.java | 2 +-
.../subgroups/utility/UtilityFunction.java | 2 +-
.../learner/subgroups/utility/WRAcc.java | 2 +-
.../tree/AbstractParallelTreeBuilder.java | 2 +-
.../tree/AbstractParallelTreeLearner.java | 2 +-
.../learner/tree/AbstractSplitCondition.java | 2 +-
.../learner/tree/AbstractTreeLearner.java | 2 +-
.../learner/tree/AttributePreprocessing.java | 2 +-
.../operator/learner/tree/Benefit.java | 2 +-
.../learner/tree/BenefitCalculator.java | 2 +-
.../operator/learner/tree/CHAIDLearner.java | 2 +-
.../learner/tree/ColumnEmptyTermination.java | 2 +-
.../learner/tree/ColumnExampleTable.java | 2 +-
.../tree/ColumnFrequencyCalculator.java | 2 +-
.../tree/ColumnMaxDepthTermination.java | 2 +-
.../tree/ColumnMinSizeTermination.java | 2 +-
.../ColumnNoAttributeLeftTermination.java | 2 +-
.../tree/ColumnNumericalRandomSplitter.java | 2 +-
.../learner/tree/ColumnNumericalSplitter.java | 2 +-
.../tree/ColumnSingleLabelTermination.java | 2 +-
.../tree/ColumnSingleValueTermination.java | 2 +-
.../learner/tree/ColumnTerminator.java | 2 +-
.../learner/tree/ConcurrentTreeBuilder.java | 2 +-
.../tree/ConfigurableRandomForestModel.java | 2 +-
.../learner/tree/ContainsSplitCondition.java | 2 +-
.../learner/tree/DecisionStumpLearner.java | 2 +-
.../learner/tree/DecisionTreeLeafCreator.java | 2 +-
.../learner/tree/DecisionTreeLearner.java | 2 +-
.../operator/learner/tree/Edge.java | 2 +-
.../learner/tree/EmptyTermination.java | 2 +-
.../learner/tree/FrequencyCalculator.java | 2 +-
.../learner/tree/GreaterSplitCondition.java | 2 +-
.../operator/learner/tree/ID3Learner.java | 2 +-
.../learner/tree/ID3NumericalLearner.java | 2 +-
.../operator/learner/tree/LeafCreator.java | 2 +-
.../tree/LessEqualsSplitCondition.java | 2 +-
.../learner/tree/MaxDepthTermination.java | 2 +-
.../learner/tree/MinSizeTermination.java | 2 +-
.../learner/tree/MinimalGainHandler.java | 2 +-
.../tree/MultiCriterionDecisionStumps.java | 2 +-
.../learner/tree/MultiwayDecisionTree.java | 2 +-
.../tree/NoAttributeLeftTermination.java | 2 +-
.../learner/tree/NominalSplitCondition.java | 2 +-
.../NonParallelBootstrappingTreeBuilder.java | 2 +-
.../NonParallelPreprocessingTreeBuilder.java | 2 +-
.../learner/tree/NonParallelTreeBuilder.java | 2 +-
.../tree/NotContainsSplitCondition.java | 2 +-
.../tree/NumericalMissingSplitCondition.java | 2 +-
.../learner/tree/NumericalSplitter.java | 2 +-
.../learner/tree/ParallelBenefit.java | 2 +-
.../tree/ParallelDecisionTreeLeafCreator.java | 6 +-
.../learner/tree/PessimisticPruner.java | 2 +-
.../operator/learner/tree/Pruner.java | 2 +-
.../RandomAttributeSubsetPreprocessing.java | 2 +-
.../learner/tree/RandomBenefitCalculator.java | 2 +-
.../learner/tree/RandomForestLearner.java | 2 +-
.../learner/tree/RandomForestModel.java | 2 +-
.../tree/RandomSubsetPreprocessing.java | 2 +-
.../learner/tree/RandomTreeLearner.java | 2 +-
.../operator/learner/tree/RegressionTree.java | 2 +-
.../learner/tree/RegressionTreeModel.java | 2 +-
.../learner/tree/RelevanceTreeLearner.java | 2 +-
.../learner/tree/SelectionCreator.java | 2 +-
.../learner/tree/SingleLabelTermination.java | 2 +-
.../operator/learner/tree/SplitCondition.java | 2 +-
.../learner/tree/SplitPreprocessing.java | 2 +-
.../operator/learner/tree/Terminator.java | 2 +-
.../operator/learner/tree/Tree.java | 2 +-
.../operator/learner/tree/TreeBuilder.java | 2 +-
.../operator/learner/tree/TreeModel.java | 2 +-
.../learner/tree/TreePredictionModel.java | 2 +-
.../tree/TreebasedPessimisticPruner.java | 2 +-
.../criterions/AbstractColumnCriterion.java | 2 +-
.../tree/criterions/AbstractCriterion.java | 2 +-
.../criterions/AccuracyColumnCriterion.java | 2 +-
.../tree/criterions/AccuracyCriterion.java | 2 +-
.../tree/criterions/ColumnCriterion.java | 2 +-
.../learner/tree/criterions/Criterion.java | 2 +-
.../criterions/GainRatioColumnCriterion.java | 2 +-
.../tree/criterions/GainRatioCriterion.java | 2 +-
.../criterions/GiniIndexColumnCriterion.java | 2 +-
.../tree/criterions/GiniIndexCriterion.java | 2 +-
.../criterions/InfoGainColumnCriterion.java | 2 +-
.../tree/criterions/InfoGainCriterion.java | 2 +-
.../LeastSquareColumnCriterion.java | 2 +-
.../tree/criterions/WeightDistribution.java | 2 +-
.../libraries/AbstractOperatorLibrary.java | 2 +-
.../libraries/LibraryOperatorDescription.java | 2 +-
.../operator/libraries/OperatorLibrary.java | 2 +-
.../libraries/OperatorLibraryDocBundle.java | 2 +-
.../operator/macros/UnsetMacroOperator.java | 2 +-
.../operator/meta/AbsoluteSplitChain.java | 2 +-
.../operator/meta/AbstractFileIterator.java | 2 +-
.../meta/AbstractIteratingOperatorChain.java | 2 +-
.../meta/AbstractRepositoryIterator.java | 2 +-
.../operator/meta/AbstractSplitChain.java | 2 +-
.../operator/meta/AverageBuilder.java | 2 +-
.../operator/meta/BatchProcessing.java | 2 +-
.../operator/meta/ClusterIterator.java | 2 +-
.../meta/ESParameterOptimization.java | 2 +-
...utionaryParameterOptimizationOperator.java | 2 +-
.../operator/meta/ExampleIterator.java | 2 +-
.../operator/meta/ExampleSetIterator.java | 2 +-
.../operator/meta/ExceptionHandling.java | 2 +-
.../operator/meta/FeatureIterator.java | 2 +-
.../operator/meta/FeatureSubsetIteration.java | 2 +-
.../operator/meta/FileIterator.java | 2 +-
...idSearchParameterOptimizationOperator.java | 2 +-
.../operator/meta/IteratingOperatorChain.java | 2 +-
.../operator/meta/LearningCurveOperator.java | 2 +-
.../operator/meta/MultipleLabelIterator.java | 2 +-
.../operator/meta/OperatorEnabler.java | 2 +-
.../operator/meta/OperatorSelector.java | 4 +-
.../operator/meta/ParameterCloner.java | 2 +-
.../operator/meta/ParameterConfigurator.java | 2 +-
.../meta/ParameterIteratingOperatorChain.java | 52 +-
.../operator/meta/ParameterIteration.java | 2 +-
.../meta/ParameterOptimizationOperator.java | 2 +-
.../operator/meta/ParameterSet.java | 24 +-
.../operator/meta/ParameterSetter.java | 2 +-
.../operator/meta/ParameterValue.java | 2 +-
.../meta/PartialExampleSetLearner.java | 2 +-
...uadraticParameterOptimizationOperator.java | 2 +-
.../meta/RandomOptimizationChain.java | 2 +-
.../operator/meta/RatioSplitChain.java | 2 +-
.../meta/RepeatUntilOperatorChain.java | 2 +-
.../operator/meta/RepositoryIterator.java | 2 +-
.../operator/meta/ThrowExceptionOperator.java | 2 +-
.../operator/meta/ValueIteration.java | 2 +-
.../operator/meta/ValueSubgroupIteration.java | 2 +-
.../operator/meta/XVPrediction.java | 2 +-
.../operator/meta/ZippedFileIterator.java | 2 +-
.../branch/AttributeAvailableCondition.java | 2 +-
.../meta/branch/DataValueCondition.java | 2 +-
.../meta/branch/ExpressionCondition.java | 2 +-
.../meta/branch/FileExistsCondition.java | 2 +-
.../meta/branch/InputExistsCondition.java | 2 +-
.../meta/branch/MacroDefinedCondition.java | 2 +-
.../meta/branch/MaxFitnessCondition.java | 2 +-
.../MaxNumberOfAttributesCondition.java | 2 +-
.../branch/MaxNumberOfExamplesCondition.java | 2 +-
.../branch/MaxPerformanceValueCondition.java | 2 +-
.../meta/branch/MinFitnessCondition.java | 2 +-
.../MinNumberOfAttributesCondition.java | 2 +-
.../branch/MinNumberOfExamplesCondition.java | 2 +-
.../branch/MinPerformanceValueCondition.java | 2 +-
.../operator/meta/branch/ProcessBranch.java | 6 +-
.../meta/branch/ProcessBranchCondition.java | 2 +-
.../nio/AbstractDataImportWizard.java | 2 +-
.../operator/nio/AnnotationCellEditor.java | 2 +-
.../nio/AnnotationDeclarationWizardStep.java | 2 +-
.../operator/nio/AnnotationTableModel.java | 2 +-
.../operator/nio/CSVExampleSource.java | 2 +-
...ampleSourceConfigurationWizardCreator.java | 2 +-
.../nio/CSVFileSelectionWizardStep.java | 2 +-
.../operator/nio/CSVImportWizard.java | 2 +-
.../nio/CSVSyntaxConfigurationWizardStep.java | 2 +-
.../operator/nio/ErrorTableModel.java | 2 +-
.../operator/nio/ExcelExampleSource.java | 45 +-
...ampleSourceConfigurationWizardCreator.java | 2 +-
.../nio/ExcelFileSelectionWizardStep.java | 2 +-
.../nio/ExcelFormatExampleSource.java | 2 +-
.../operator/nio/ExcelImportWizard.java | 2 +-
.../nio/ExcelSheetSelectionWizardStep.java | 5 +-
.../operator/nio/ExcelSheetTableModel.java | 2 +-
.../operator/nio/ExcelWorkbookPane.java | 4 +-
.../operator/nio/ImportWizardUtils.java | 2 +-
.../operator/nio/LoadingContentPane.java | 2 +-
.../nio/MetaDataDeclarationWizardStep.java | 2 +-
.../nio/MetaDataTableHeaderCellEditor.java | 2 +-
.../operator/nio/MetaDataValidator.java | 2 +-
.../operator/nio/RowFilteringTableModel.java | 2 +-
.../operator/nio/StoreDataWizardStep.java | 2 +-
.../operator/nio/file/BufferedFileObject.java | 2 +-
.../nio/file/FileInputPortHandler.java | 2 +-
.../operator/nio/file/FileObject.java | 2 +-
.../nio/file/FileOutputPortHandler.java | 2 +-
.../operator/nio/file/LoadFileOperator.java | 2 +-
.../nio/file/RepositoryBlobObject.java | 2 +-
.../operator/nio/file/SimpleFileObject.java | 2 +-
.../operator/nio/file/WriteFileOperator.java | 2 +-
.../operator/nio/file/ZipEntryObject.java | 2 +-
.../compression/AddEntryToArchiveFile.java | 2 +-
.../file/compression/ArchiveFileObject.java | 2 +-
.../CreateArchiveFileOperator.java | 2 +-
.../nio/file/compression/ZipFileObject.java | 2 +-
.../model/AbstractDataResultSetReader.java | 25 +-
.../operator/nio/model/CSVResultSet.java | 2 +-
.../nio/model/CSVResultSetConfiguration.java | 2 +-
.../operator/nio/model/ColumnMetaData.java | 2 +-
.../operator/nio/model/DataResultSet.java | 2 +-
.../nio/model/DataResultSetFactory.java | 2 +-
...DataResultSetTranslationConfiguration.java | 7 +-
.../nio/model/DataResultSetTranslator.java | 2 +-
.../nio/model/DateFormatProvider.java | 2 +-
.../operator/nio/model/DefaultPreview.java | 2 +-
.../nio/model/Excel2007ResultSet.java | 6 +-
.../operator/nio/model/ExcelResultSet.java | 6 +-
.../model/ExcelResultSetConfiguration.java | 1362 ++---
.../nio/model/ExcelSheetSelection.java | 176 +
.../operator/nio/model/ParseException.java | 2 +-
.../operator/nio/model/ParsingError.java | 2 +-
.../operator/nio/model/WizardState.java | 2 +-
.../model/xlsx/AbstractXlsxSAXHandler.java | 2 +-
.../operator/nio/model/xlsx/XlsxCellType.java | 2 +-
.../model/xlsx/XlsxNumberFormatParser.java | 2 +-
.../nio/model/xlsx/XlsxNumberFormats.java | 2 +-
.../nio/model/xlsx/XlsxResultSet.java | 58 +-
.../model/xlsx/XlsxSharedStringsParser.java | 2 +-
.../model/xlsx/XlsxSheetContentParser.java | 2 +-
.../nio/model/xlsx/XlsxSheetMetaData.java | 2 +-
.../model/xlsx/XlsxSheetMetaDataParser.java | 2 +-
.../nio/model/xlsx/XlsxSheetTableModel.java | 25 +-
.../nio/model/xlsx/XlsxUtilities.java | 2 +-
.../nio/model/xlsx/XlsxWorkbookParser.java | 2 +-
.../xlsx/XlsxWorkbookRelationParser.java | 2 +-
.../operator/performance/AbsoluteError.java | 2 +-
.../AbstractExampleSetEvaluator.java | 2 +-
.../AbstractPerformanceEvaluator.java | 2 +-
.../operator/performance/AreaUnderCurve.java | 2 +-
.../performance/AttributeCounter.java | 2 +-
.../BinaryClassificationPerformance.java | 2 +-
...nalClassificationPerformanceEvaluator.java | 2 +-
.../performance/ClassWeightedPerformance.java | 2 +-
.../performance/CorrelationCriterion.java | 2 +-
.../operator/performance/CrossEntropy.java | 2 +-
.../performance/Data2Performance.java | 2 +-
.../performance/EstimatedPerformance.java | 2 +-
.../performance/LenientRelativeError.java | 2 +-
.../operator/performance/LogisticLoss.java | 2 +-
.../operator/performance/MDLCriterion.java | 2 +-
.../operator/performance/Margin.java | 2 +-
.../performance/MeasuredPerformance.java | 2 +-
.../operator/performance/MinMaxCriterion.java | 2 +-
.../operator/performance/MinMaxWrapper.java | 2 +-
.../MultiClassificationPerformance.java | 2 +-
.../performance/NormalizedAbsoluteError.java | 2 +-
...meterizedMeasuredPerformanceCriterion.java | 2 +-
.../performance/PerformanceComparator.java | 2 +-
.../performance/PerformanceCriterion.java | 2 +-
.../performance/PerformanceEvaluator.java | 2 +-
.../performance/PerformanceVector.java | 2 +-
.../PerformanceVectorToExampleSet.java | 2 +-
...nalClassificationPerformanceEvaluator.java | 2 +-
.../performance/PredictionAverage.java | 2 +-
.../operator/performance/RankCorrelation.java | 2 +-
.../operator/performance/RankStatistics.java | 2 +-
.../RegressionPerformanceEvaluator.java | 2 +-
.../operator/performance/RelativeError.java | 2 +-
.../performance/RootMeanSquaredError.java | 2 +-
.../performance/RootRelativeSquaredError.java | 2 +-
.../SimpleClassificationError.java | 2 +-
.../operator/performance/SimpleCriterion.java | 2 +-
.../SimplePerformanceEvaluator.java | 2 +-
.../operator/performance/SoftMarginLoss.java | 2 +-
.../SquaredCorrelationCriterion.java | 2 +-
.../operator/performance/SquaredError.java | 2 +-
.../performance/StrictRelativeError.java | 2 +-
.../performance/SupportVectorCounter.java | 2 +-
.../UserBasedPerformanceEvaluator.java | 2 +-
.../WeightedMultiClassPerformance.java | 2 +-
.../WeightedPerformanceCreator.java | 2 +-
.../cost/ClassificationCostCriterion.java | 2 +-
.../performance/cost/CostEvaluator.java | 4 +-
.../performance/cost/RankingCriterion.java | 2 +-
.../performance/cost/RankingEvaluator.java | 4 +-
...CollectingOrIteratingPortPairExtender.java | 2 +-
.../ports/CollectingPortPairExtender.java | 2 +-
.../operator/ports/DummyPortPairExtender.java | 2 +-
.../ports/IncompatibleMDClassException.java | 2 +-
.../rapidminer/operator/ports/InputPort.java | 2 +-
.../operator/ports/InputPortExtender.java | 2 +-
.../rapidminer/operator/ports/InputPorts.java | 2 +-
.../ports/MetaDataChangeListener.java | 2 +-
.../ports/MultiInputPortPairExtender.java | 2 +-
.../ports/MultiOutputPortPairExtender.java | 2 +-
.../operator/ports/MultiPortPairExtender.java | 2 +-
.../operator/ports/Multiplicity.java | 2 +-
.../OrderPreservingPortPairExtender.java | 2 +-
.../rapidminer/operator/ports/OutputPort.java | 2 +-
.../operator/ports/OutputPortExtender.java | 2 +-
.../operator/ports/OutputPorts.java | 2 +-
.../com/rapidminer/operator/ports/Port.java | 2 +-
.../operator/ports/PortException.java | 2 +-
.../operator/ports/PortExtender.java | 2 +-
.../rapidminer/operator/ports/PortOwner.java | 2 +-
.../operator/ports/PortPairExtender.java | 2 +-
.../com/rapidminer/operator/ports/Ports.java | 2 +-
.../operator/ports/ProcessingStep.java | 2 +-
.../operator/ports/SinglePortExtender.java | 2 +-
.../ports/impl/AbstractInputPort.java | 2 +-
.../ports/impl/AbstractOutputPort.java | 2 +-
.../operator/ports/impl/AbstractPort.java | 2 +-
.../operator/ports/impl/AbstractPorts.java | 2 +-
.../impl/CannotConnectPortException.java | 2 +-
.../operator/ports/impl/InputPortImpl.java | 2 +-
.../operator/ports/impl/InputPortsImpl.java | 2 +-
.../operator/ports/impl/OutputPortImpl.java | 2 +-
.../operator/ports/impl/OutputPortsImpl.java | 2 +-
.../ports/metadata/AbstractPrecondition.java | 2 +-
...ributeAddingExampleSetPassThroughRule.java | 2 +-
.../ports/metadata/AttributeMetaData.java | 2 +-
.../AttributeParameterPrecondition.java | 2 +-
.../metadata/AttributeSetPrecondition.java | 2 +-
.../AttributeSubsetPassThroughRule.java | 2 +-
.../metadata/CapabilityPrecondition.java | 2 +-
.../ports/metadata/CollectionMetaData.java | 2 +-
.../metadata/CollectionPrecondition.java | 2 +-
.../ports/metadata/CompatibilityLevel.java | 2 +-
.../metadata/DistanceMeasurePrecondition.java | 2 +-
.../ports/metadata/DummyMetaData.java | 2 +-
.../ExampleSetContainsSeriesPrecondition.java | 2 +-
.../ports/metadata/ExampleSetMetaData.java | 2 +-
.../metadata/ExampleSetPassThroughRule.java | 2 +-
.../metadata/ExampleSetPrecondition.java | 7 +-
.../metadata/ExampleSetSizePrecondition.java | 2 +-
.../ports/metadata/ExampleSetUnionRule.java | 2 +-
.../metadata/FlatteningPassThroughRule.java | 2 +-
.../GenerateModelTransformationRule.java | 2 +-
.../metadata/GenerateNewExampleSetMDRule.java | 2 +-
.../ports/metadata/GenerateNewMDRule.java | 2 +-
...ratePredictionModelTransformationRule.java | 2 +-
.../metadata/InputMissingMetaDataError.java | 2 +-
.../ports/metadata/LearnerPrecondition.java | 2 +-
.../operator/ports/metadata/MDInteger.java | 2 +-
.../operator/ports/metadata/MDNumber.java | 2 +-
.../operator/ports/metadata/MDReal.java | 2 +-
.../ports/metadata/MDTransformationRule.java | 2 +-
.../ports/metadata/MDTransformer.java | 2 +-
.../metadata/ManyToManyPassThroughRule.java | 2 +-
.../metadata/ManyToOnePassThroughRule.java | 2 +-
.../operator/ports/metadata/MetaData.java | 2 +-
.../ports/metadata/MetaDataError.java | 2 +-
.../ports/metadata/MetaDataFactory.java | 2 +-
.../operator/ports/metadata/MetaDataInfo.java | 2 +-
.../metadata/MetaDataUnderspecifiedError.java | 2 +-
.../ports/metadata/ModelApplicationRule.java | 2 +-
.../ports/metadata/ModelMetaData.java | 2 +-
.../metadata/OneToManyPassThroughRule.java | 2 +-
.../ports/metadata/OperatorLoopError.java | 2 +-
.../ParameterConditionedPrecondition.java | 2 +-
.../metadata/PassThroughOrGenerateRule.java | 2 +-
.../PassThroughOrGenerateRuleCondition.java | 2 +-
.../ports/metadata/PassThroughRule.java | 2 +-
.../operator/ports/metadata/Precondition.java | 2 +-
.../metadata/PredictionModelMetaData.java | 2 +-
.../operator/ports/metadata/SetRelation.java | 2 +-
.../ports/metadata/SimpleMetaDataError.java | 2 +-
.../ports/metadata/SimplePrecondition.java | 2 +-
.../metadata/SubprocessTransformRule.java | 2 +-
.../ports/quickfix/AbstractQuickFix.java | 2 +-
.../AddCompatibleOperatorQuickFix.java | 2 +-
.../quickfix/AttributeSelectionQuickFix.java | 2 +-
.../quickfix/CategorySelectionQuickFix.java | 2 +-
.../quickfix/ChangeAttributeRoleQuickFix.java | 2 +-
.../ports/quickfix/ConnectToQuickFix.java | 2 +-
.../ports/quickfix/DictionaryQuickFix.java | 2 +-
.../ports/quickfix/DisconnectQuickFix.java | 2 +-
.../quickfix/OperatorInsertionQuickFix.java | 2 +-
.../quickfix/ParameterSettingQuickFix.java | 2 +-
.../operator/ports/quickfix/QuickFix.java | 2 +-
.../RelativizeRepositoryLocationQuickfix.java | 2 +-
.../GeneratePredictionOperator.java | 2 +-
.../GeneratePredictionRankingOperator.java | 2 +-
.../postprocessing/PlattParameters.java | 2 +-
.../operator/postprocessing/PlattScaling.java | 2 +-
.../postprocessing/PlattScalingModel.java | 2 +-
.../postprocessing/RecallChooser.java | 2 +-
...pleUncertainPredictionsTransformation.java | 2 +-
.../operator/postprocessing/Threshold.java | 2 +-
.../postprocessing/ThresholdApplier.java | 2 +-
.../postprocessing/ThresholdCreator.java | 2 +-
.../postprocessing/ThresholdFinder.java | 2 +-
.../preprocessing/AbstractDataProcessing.java | 2 +-
.../AbstractValueProcessing.java | 2 +-
.../AttributeSubsetPreprocessing.java | 2 +-
.../preprocessing/ExampleSetTranspose.java | 2 +-
.../preprocessing/GroupByOperator.java | 2 +-
.../preprocessing/GuessValueTypes.java | 2 +-
.../operator/preprocessing/IdTagging.java | 2 +-
.../MaterializeDataInMemory.java | 2 +-
.../operator/preprocessing/NoiseModel.java | 2 +-
.../operator/preprocessing/NoiseOperator.java | 2 +-
.../preprocessing/PreprocessingModel.java | 2 +-
.../preprocessing/PreprocessingOperator.java | 2 +-
.../RemoveUnusedNominalValuesModel.java | 2 +-
.../RemoveUnusedNominalValuesOperator.java | 2 +-
.../preprocessing/UseRowAsAttributeNames.java | 2 +-
.../AbsoluteDiscretization.java | 2 +-
.../AbstractDiscretizationOperator.java | 2 +-
.../discretization/BinDiscretization.java | 2 +-
.../discretization/DiscretizationModel.java | 2 +-
.../FrequencyDiscretization.java | 2 +-
.../MinMaxBinDiscretization.java | 2 +-
.../MinimalEntropyDiscretization.java | 10 +-
.../UserBasedDiscretization.java | 2 +-
.../filter/AbsoluteValueFilter.java | 2 +-
.../filter/AbstractDateDataProcessing.java | 2 +-
.../AbstractFilteredDataProcessing.java | 2 +-
.../preprocessing/filter/AddNominalValue.java | 4 +-
.../preprocessing/filter/AttributeAdd.java | 2 +-
.../preprocessing/filter/AttributeCopy.java | 2 +-
.../preprocessing/filter/AttributeMerge.java | 2 +-
.../filter/AttributeValueMapper.java | 2 +-
.../filter/AttributeValueReplace.java | 2 +-
.../filter/AttributeValueSplit.java | 2 +-
.../filter/AttributeValueSubstring.java | 2 +-
.../filter/AttributeValueTrim.java | 2 +-
.../filter/ChangeAttributeName.java | 2 +-
.../filter/ChangeAttributeNames2Generic.java | 2 +-
.../filter/ChangeAttributeNamesReplace.java | 2 +-
.../filter/ChangeAttributeRole.java | 2 +-
.../filter/Construction2Names.java | 2 +-
.../preprocessing/filter/Date2Nominal.java | 2 +-
.../preprocessing/filter/Date2Numerical.java | 2 +-
.../preprocessing/filter/DateAdjust.java | 2 +-
.../filter/DeclareMissingValueOperator.java | 2 +-
.../preprocessing/filter/Dictionary.java | 2 +-
.../preprocessing/filter/ExampleFilter.java | 2 +-
.../filter/ExampleRangeFilter.java | 2 +-
.../filter/ExampleSetToDictionary.java | 2 +-
.../filter/ExchangeAttributeRoles.java | 2 +-
.../filter/FeatureBlockTypeFilter.java | 2 +-
.../preprocessing/filter/FeatureFilter.java | 2 +-
.../filter/FeatureNameFilter.java | 2 +-
.../filter/FeatureRangeRemoval.java | 2 +-
.../filter/FeatureValueTypeFilter.java | 2 +-
.../preprocessing/filter/FillDataGaps.java | 2 +-
.../filter/InfiniteValueReplenishment.java | 2 +-
.../filter/InternalBinominalRemapping.java | 2 +-
.../filter/MergeNominalValues.java | 2 +-
.../filter/MissingValueImputation.java | 2 +-
.../filter/MissingValueReplenishment.java | 20 +-
.../filter/MissingValueReplenishmentView.java | 2 +-
.../preprocessing/filter/Nominal2Date.java | 2 +-
.../preprocessing/filter/Nominal2String.java | 2 +-
.../filter/NominalNumbers2Numerical.java | 2 +-
.../filter/NominalToBinominal.java | 2 +-
.../filter/NominalToBinominalModel.java | 2 +-
.../filter/NominalToNumeric.java | 2 +-
.../filter/NominalToNumericModel.java | 2 +-
.../filter/NonDominatedSorting.java | 2 +-
.../filter/NumericToBinominal.java | 2 +-
.../filter/NumericToFormattedNominal.java | 2 +-
.../filter/NumericToNominal.java | 2 +-
.../filter/NumericToPolynominal.java | 2 +-
.../preprocessing/filter/Numerical2Date.java | 2 +-
.../preprocessing/filter/Numerical2Real.java | 2 +-
.../filter/PermutationOperator.java | 2 +-
.../preprocessing/filter/Real2Integer.java | 2 +-
.../filter/RemoveDuplicates.java | 2 +-
.../preprocessing/filter/SetData.java | 2 +-
.../preprocessing/filter/Sorting.java | 2 +-
.../preprocessing/filter/String2Nominal.java | 2 +-
.../preprocessing/filter/TFIDFFilter.java | 2 +-
.../filter/ValueReplenishment.java | 2 +-
.../filter/ValueReplenishmentModel.java | 2 +-
.../AbstractAttributeFilterCondition.java | 2 +-
.../filter/attributes/AttributeFilter.java | 2 +-
.../attributes/AttributeFilterCondition.java | 2 +-
.../attributes/AttributeOrderingOperator.java | 2 +-
.../attributes/BlockTypeAttributeFilter.java | 2 +-
.../attributes/DateAttributeFilter.java | 2 +-
.../MissingValuesAttributeFilter.java | 2 +-
.../NoMissingValuesAttributeFilter.java | 2 +-
.../attributes/NominalAttributeFilter.java | 2 +-
.../NumericValueAttributeFilter.java | 2 +-
.../attributes/NumericalAttributeFilter.java | 2 +-
.../attributes/RegexpAttributeFilter.java | 2 +-
.../attributes/SingleAttributeFilter.java | 2 +-
.../attributes/SubsetAttributeFilter.java | 2 +-
.../TransparentAttributeFilter.java | 2 +-
.../attributes/ValueTypeAttributeFilter.java | 2 +-
.../join/AbstractExampleSetJoin.java | 18 +-
.../join/ExampleSetCartesian.java | 2 +-
.../join/ExampleSetIntersect.java | 2 +-
.../preprocessing/join/ExampleSetJoin.java | 128 +-
.../preprocessing/join/ExampleSetMerge.java | 6 +-
.../preprocessing/join/ExampleSetMinus.java | 2 +-
.../join/ExampleSetSuperset.java | 2 +-
.../preprocessing/join/ExampleSetUnion.java | 2 +-
.../AbstractNormalizationMethod.java | 2 +-
.../AbstractNormalizationModel.java | 2 +-
.../normalization/DenormalizationModel.java | 2 +-
.../DenormalizationOperator.java | 2 +-
.../normalization/IQRNormalizationMethod.java | 2 +-
.../normalization/IQRNormalizationModel.java | 2 +-
.../MinMaxNormalizationModel.java | 2 +-
.../normalization/Normalization.java | 2 +-
.../normalization/NormalizationMethod.java | 2 +-
.../ProportionNormalizationMethod.java | 2 +-
.../ProportionNormalizationModel.java | 2 +-
.../RangeNormalizationMethod.java | 2 +-
.../normalization/ZTransformationModel.java | 2 +-
.../ZTransformationNormalizationMethod.java | 2 +-
.../outlier/AbstractOutlierDetection.java | 2 +-
.../preprocessing/outlier/COFKnn.java | 2 +-
.../preprocessing/outlier/COFObject.java | 2 +-
.../outlier/DBOutlierOperator.java | 2 +-
.../outlier/DKNOutlierOperator.java | 2 +-
.../preprocessing/outlier/EcodbOperator.java | 8 +-
.../outlier/KdistanceContainer.java | 2 +-
.../outlier/LOFOutlierOperator.java | 2 +-
.../preprocessing/outlier/SearchObject.java | 2 +-
.../preprocessing/outlier/SearchSpace.java | 2 +-
.../sampling/AbsoluteSampling.java | 2 +-
.../sampling/AbsoluteStratifiedSampling.java | 2 +-
.../sampling/AbstractBootstrapping.java | 2 +-
.../sampling/AbstractSamplingOperator.java | 2 +-
.../sampling/AbstractStratifiedSampling.java | 2 +-
.../preprocessing/sampling/Bootstrapping.java | 2 +-
.../sampling/BootstrappingOperator.java | 2 +-
.../sampling/KennardStoneSampling.java | 2 +-
.../sampling/ModelBasedSampling.java | 2 +-
.../sampling/PartitionOperator.java | 2 +-
.../sampling/RatioStratifiedSampling.java | 2 +-
.../sampling/SamplingOperator.java | 2 +-
.../sampling/StratifiedSamplingOperator.java | 2 +-
.../sampling/WeightedBootstrapping.java | 2 +-
.../AbsoluteSamplingSequenceGenerator.java | 2 +-
.../ProbabilitySamplingSequenceGenerator.java | 2 +-
.../RelativeSamplingSequenceGenerator.java | 2 +-
.../sequences/SamplingSequenceGenerator.java | 2 +-
.../transformation/AggregationOperator.java | 2 +-
.../Attribute2ExamplePivoting.java | 2 +-
.../Example2AttributePivoting.java | 2 +-
.../ExampleSetTransformationOperator.java | 2 +-
.../transformation/GroupedANOVAOperator.java | 2 +-
...AbstractCountRatioAggregationFunction.java | 2 +-
.../aggregation/AggregationFunction.java | 2 +-
.../AggregationFunctionMetaDataProvider.java | 2 +-
.../aggregation/AggregationOperator.java | 2 +-
.../aggregation/Aggregator.java | 2 +-
.../ConcatAggregationFunction.java | 2 +-
.../aggregation/ConcatAggregator.java | 2 +-
.../aggregation/CountAggregationFunction.java | 2 +-
.../aggregation/CountAggregator.java | 2 +-
.../CountFractionalAggregationFunction.java | 2 +-
...ntIgnoringMissingsAggregationFunction.java | 2 +-
.../CountIgnoringMissingsAggregator.java | 2 +-
...tIncludingMissingsAggregationFunction.java | 2 +-
.../CountIncludingMissingsAggregator.java | 2 +-
.../CountPercentageAggregationFunction.java | 2 +-
...ltAggregationFunctionMetaDataProvider.java | 2 +-
.../aggregation/LeastAggregationFunction.java | 2 +-
.../aggregation/LeastAggregator.java | 2 +-
.../LeastOccurringAggregationFunction.java | 2 +-
.../aggregation/LeastOccurringAggregator.java | 2 +-
.../LogProductAggregationFunction.java | 2 +-
.../aggregation/LogProductAggregator.java | 2 +-
...ngAggregationFunctionMetaDataProvider.java | 2 +-
.../aggregation/MaxAggregationFunction.java | 2 +-
.../aggregation/MaxAggregator.java | 2 +-
.../aggregation/MeanAggregationFunction.java | 2 +-
.../aggregation/MeanAggregator.java | 2 +-
.../MedianAggregationFunction.java | 2 +-
.../MedianAggregationFunctionLegacy.java | 2 +-
.../aggregation/MedianAggregator.java | 2 +-
.../aggregation/MedianAggregatorLegacy.java | 2 +-
.../aggregation/MinAggregationFunction.java | 2 +-
.../aggregation/MinAggregator.java | 2 +-
.../aggregation/ModeAggregationFunction.java | 2 +-
.../aggregation/ModeAggregator.java | 2 +-
.../NominalAggregationFunction.java | 2 +-
.../NumericalAggregationFunction.java | 2 +-
.../aggregation/NumericalAggregator.java | 2 +-
.../ProductAggregationFunction.java | 2 +-
.../aggregation/ProductAggregator.java | 2 +-
.../StandardDeviationAggregationFunction.java | 2 +-
.../StandardDeviationAggregator.java | 2 +-
.../aggregation/SumAggregationFunction.java | 2 +-
.../aggregation/SumAggregator.java | 2 +-
.../SumFractionalAggregationFunction.java | 2 +-
.../VarianceAggregationFunction.java | 2 +-
.../aggregation/VarianceAggregator.java | 2 +-
.../weighting/AbstractExampleWeighting.java | 2 +-
.../weighting/EqualLabelWeighting.java | 2 +-
...calPolynomialExampleWeightingOperator.java | 2 +-
...ractRepositoryEntryRelocationOperator.java | 2 +-
.../AbstractRepositoryManagerOperator.java | 2 +-
.../RepositoryEntryCopyOperator.java | 2 +-
.../RepositoryEntryDeleteOperator.java | 2 +-
.../RepositoryEntryMoveOperator.java | 2 +-
.../RepositoryEntryRenameOperator.java | 2 +-
.../similarity/CrossDistancesOperator.java | 2 +-
.../similarity/ExampleSet2Similarity.java | 2 +-
.../ExampleSet2SimilarityExampleSet.java | 2 +-
.../similarity/Similarity2ExampleSet.java | 2 +-
.../similarity/SimilarityMeasureObject.java | 2 +-
.../tools/AttributeSubsetSelector.java | 2 +-
.../operator/tools/BodySerializer.java | 2 +-
.../operator/tools/ConsolePrintOperator.java | 2 +-
.../operator/tools/DelayOperator.java | 2 +-
.../operator/tools/ExampleSetToStream.java | 2 +-
.../tools/ExpressionEvaluationException.java | 2 +-
.../operator/tools/IOObjectSerializer.java | 2 +-
.../operator/tools/OperatorCreationHook.java | 2 +-
.../operator/tools/RMObjectInputStream.java | 2 +-
.../operator/tools/SendMailOperator.java | 2 +-
.../operator/tools/SerializationType.java | 2 +-
.../StreamedExampleSetBodySerializer.java | 2 +-
.../util/annotations/AnnotateOperator.java | 2 +-
.../util/annotations/AnnotationsToData.java | 2 +-
.../util/annotations/DataToAnnotations.java | 2 +-
.../util/annotations/ExtractAnnotation.java | 2 +-
.../AbstractBootstrappingValidation.java | 2 +-
.../operator/validation/BatchXValidation.java | 2 +-
.../validation/BootstrappingValidation.java | 2 +-
.../validation/FixedSplitValidationChain.java | 2 +-
.../IteratingPerformanceAverage.java | 2 +-
.../RandomSplitValidationChain.java | 2 +-
.../RandomSplitWrapperValidationChain.java | 2 +-
.../validation/SplitValidationOperator.java | 2 +-
.../rapidminer/operator/validation/Tools.java | 2 +-
.../operator/validation/ValidationChain.java | 2 +-
.../WeightedBootstrappingValidation.java | 2 +-
.../validation/WrapperValidationChain.java | 2 +-
.../validation/WrapperXValidation.java | 2 +-
.../operator/validation/XValidation.java | 2 +-
.../clustering/CentroidBasedEvaluator.java | 2 +-
.../clustering/ClusterDensityEvaluator.java | 2 +-
.../clustering/ClusterNumberEvaluator.java | 2 +-
.../ExampleDistributionEvaluator.java | 2 +-
.../ExampleDistributionMeasure.java | 2 +-
.../exampledistribution/GiniCoefficient.java | 2 +-
.../exampledistribution/SumOfSquares.java | 2 +-
.../AnovaSignificanceTestOperator.java | 2 +-
.../SignificanceTestOperator.java | 2 +-
.../TTestSignificanceTestOperator.java | 2 +-
.../visualization/ClearProcessLog.java | 2 +-
.../operator/visualization/Data2Log.java | 2 +-
.../visualization/DataStatistics.java | 2 +-
.../visualization/DataStatisticsOperator.java | 2 +-
.../ExampleVisualizationOperator.java | 2 +-
.../visualization/FormulaExtractor.java | 2 +-
.../visualization/LiftChartGenerator.java | 10 +-
.../visualization/LiftParetoChart.java | 2 +-
.../LiftParetoChartGenerator.java | 2 +-
.../operator/visualization/Macro2Log.java | 2 +-
.../visualization/ProcessLog2ExampleSet.java | 2 +-
.../visualization/ProcessLogOperator.java | 2 +-
.../ROCBasedComparisonOperator.java | 2 +-
.../visualization/ROCChartGenerator.java | 10 +-
.../operator/visualization/ROCComparison.java | 2 +-
.../visualization/SOMModelPlotter.java | 2 +-
.../visualization/SOMModelVisualization.java | 2 +-
.../dependencies/ANOVAMatrix.java | 2 +-
.../dependencies/ANOVAMatrixOperator.java | 2 +-
.../AbstractPairwiseMatrixOperator.java | 2 +-
.../CorrelationMatrixOperator.java | 4 +-
.../CovarianceMatrixOperator.java | 2 +-
.../MutualInformationMatrixOperator.java | 2 +-
.../dependencies/NumericalMatrix.java | 24 +-
.../dependencies/RainflowMatrix.java | 2 +-
.../dependencies/RainflowMatrixOperator.java | 2 +-
.../dependencies/TransitionGraph.java | 2 +-
.../dependencies/TransitionGraphOperator.java | 2 +-
.../TransitionMatrixOperator.java | 2 +-
.../parameter/CombinedParameterType.java | 2 +-
.../IOObjectCacheSuggestionProvider.java | 2 +-
.../parameter/MetaDataProvider.java | 2 +-
.../rapidminer/parameter/OAuthMechanism.java | 2 +-
.../parameter/ParameterHandler.java | 2 +-
.../rapidminer/parameter/ParameterType.java | 2 +-
.../parameter/ParameterTypeAttribute.java | 2 +-
.../parameter/ParameterTypeAttributeFile.java | 2 +-
.../ParameterTypeAttributeOrderingRules.java | 2 +-
.../parameter/ParameterTypeAttributes.java | 2 +-
.../parameter/ParameterTypeBoolean.java | 2 +-
.../parameter/ParameterTypeCategory.java | 2 +-
.../parameter/ParameterTypeChar.java | 2 +-
.../parameter/ParameterTypeColor.java | 2 +-
.../parameter/ParameterTypeConfiguration.java | 2 +-
.../ParameterTypeCronExpression.java | 2 +-
.../parameter/ParameterTypeDate.java | 2 +-
.../parameter/ParameterTypeDateFormat.java | 2 +-
.../parameter/ParameterTypeDirectory.java | 2 +-
.../parameter/ParameterTypeDouble.java | 2 +-
.../parameter/ParameterTypeEnumeration.java | 2 +-
.../parameter/ParameterTypeExpression.java | 2 +-
.../parameter/ParameterTypeFile.java | 2 +-
.../parameter/ParameterTypeFilter.java | 2 +-
.../parameter/ParameterTypeInnerOperator.java | 2 +-
.../parameter/ParameterTypeInt.java | 2 +-
.../parameter/ParameterTypeLinkButton.java | 2 +-
.../parameter/ParameterTypeList.java | 2 +-
.../parameter/ParameterTypeLong.java | 2 +-
.../parameter/ParameterTypeMatrix.java | 2 +-
.../parameter/ParameterTypeNumber.java | 2 +-
.../parameter/ParameterTypeOAuth.java | 2 +-
.../ParameterTypeParameterValue.java | 2 +-
.../parameter/ParameterTypePassword.java | 2 +-
.../parameter/ParameterTypePreview.java | 2 +-
.../ParameterTypeProcessLocation.java | 2 +-
.../parameter/ParameterTypeRegexp.java | 2 +-
.../parameter/ParameterTypeRemoteFile.java | 2 +-
.../ParameterTypeRepositoryLocation.java | 2 +-
.../parameter/ParameterTypeSingle.java | 2 +-
.../parameter/ParameterTypeString.java | 2 +-
.../ParameterTypeStringCategory.java | 2 +-
.../parameter/ParameterTypeSuggestion.java | 2 +-
.../parameter/ParameterTypeText.java | 2 +-
.../parameter/ParameterTypeTupel.java | 2 +-
.../parameter/ParameterTypeValue.java | 2 +-
.../com/rapidminer/parameter/Parameters.java | 2 +-
.../rapidminer/parameter/PortProvider.java | 2 +-
.../parameter/StaticMetaDataProvider.java | 2 +-
.../parameter/SuggestionProvider.java | 2 +-
.../com/rapidminer/parameter/TextType.java | 2 +-
.../parameter/UndefinedMacroError.java | 2 +-
.../parameter/UndefinedParameterError.java | 2 +-
.../AboveOperatorVersionCondition.java | 2 +-
.../conditions/AbstractLogicalCondition.java | 2 +-
.../conditions/AndParameterCondition.java | 2 +-
.../BelowOrEqualOperatorVersionCondition.java | 2 +-
.../conditions/BooleanParameterCondition.java | 2 +-
.../EqualOperatorVersionCondition.java | 2 +-
.../conditions/EqualStringCondition.java | 2 +-
.../conditions/EqualTypeCondition.java | 2 +-
.../InputPortNotConnectedCondition.java | 2 +-
.../conditions/NonEqualStringCondition.java | 2 +-
.../conditions/NonEqualTypeCondition.java | 2 +-
.../conditions/OrParameterCondition.java | 2 +-
.../OutputPortNotConnectedCondition.java | 2 +-
.../conditions/ParameterCondition.java | 2 +-
.../conditions/PortConnectedCondition.java | 2 +-
.../parameter/value/ParameterValueGrid.java | 2 +-
.../parameter/value/ParameterValueList.java | 2 +-
.../parameter/value/ParameterValueRange.java | 2 +-
.../parameter/value/ParameterValues.java | 2 +-
.../java/com/rapidminer/report/Readable.java | 2 +-
.../com/rapidminer/report/Renderable.java | 2 +-
.../rapidminer/report/ReportException.java | 2 +-
.../com/rapidminer/report/ReportStream.java | 2 +-
.../com/rapidminer/report/Reportable.java | 2 +-
.../java/com/rapidminer/report/Tableable.java | 2 +-
.../com/rapidminer/repository/AccessFlag.java | 2 +-
.../com/rapidminer/repository/AccessType.java | 2 +-
.../com/rapidminer/repository/BlobEntry.java | 2 +-
.../repository/ConnectionListener.java | 44 +
.../repository/ConnectionRepository.java | 50 +
.../repository/CustomRepositoryFactory.java | 2 +-
.../repository/CustomRepositoryRegistry.java | 2 +-
.../com/rapidminer/repository/DataEntry.java | 2 +-
.../com/rapidminer/repository/DateEntry.java | 2 +-
.../java/com/rapidminer/repository/Entry.java | 2 +-
.../repository/FileRepositoryProvider.java | 11 +-
.../com/rapidminer/repository/Folder.java | 2 +-
.../rapidminer/repository/IOObjectEntry.java | 2 +-
.../MalformedRepositoryLocationException.java | 2 +-
.../rapidminer/repository/ProcessEntry.java | 2 +-
.../repository/RemoteProcessState.java | 2 +-
.../com/rapidminer/repository/Repository.java | 12 +-
.../repository/RepositoryAccessor.java | 2 +-
.../repository/RepositoryActionCondition.java | 2 +-
...ryActionConditionImplConfigRepository.java | 2 +-
...oryActionConditionImplExampleSetsOnly.java | 40 +-
...RepositoryActionConditionImplStandard.java | 2 +-
...tionConditionImplStandardNoRepository.java | 2 +-
.../repository/RepositoryConstants.java | 2 +-
.../repository/RepositoryException.java | 2 +-
.../repository/RepositoryFactory.java | 2 +-
.../repository/RepositoryListener.java | 73 +-
.../repository/RepositoryLocation.java | 2 +-
.../repository/RepositoryManager.java | 86 +-
.../repository/RepositoryManagerListener.java | 52 +
.../repository/RepositoryProvider.java | 2 +-
.../repository/RepositorySortingMethod.java | 2 +-
.../RepositorySortingMethodListener.java | 2 +-
.../repository/RepositoryTools.java | 2 +-
.../repository/RepositoryVisitor.java | 2 +-
.../repository/gui/LocalRepositoryPanel.java | 2 +-
.../repository/gui/NewRepositoryDialog.java | 2 +-
.../repository/gui/RepositoryBrowser.java | 58 +-
.../gui/RepositoryConfigurationDialog.java | 2 +-
.../gui/RepositoryConfigurationPanel.java | 2 +-
.../gui/RepositoryLocationChooser.java | 2 +-
.../gui/RepositorySelectionEvent.java | 2 +-
.../gui/RepositorySelectionListener.java | 2 +-
.../repository/gui/RepositoryTree.java | 32 +-
.../gui/RepositoryTreeCellRenderer.java | 2 +-
.../repository/gui/RepositoryTreeModel.java | 6 +-
.../repository/gui/RepositoryTreeUtil.java | 17 +-
.../gui/RescalingProgressListener.java | 2 +-
.../repository/gui/ToolTipProviderHelper.java | 2 +-
.../gui/actions/AbstractRepositoryAction.java | 4 +-
.../actions/ConfigureRepositoryAction.java | 2 +-
.../actions/CopyEntryRepositoryAction.java | 2 +-
.../gui/actions/CopyLocationAction.java | 2 +-
.../gui/actions/CreateFolderAction.java | 2 +-
.../gui/actions/CutEntryRepositoryAction.java | 2 +-
.../actions/DeleteRepositoryEntryAction.java | 2 +-
.../gui/actions/NewRepositoryAction.java | 47 +
.../gui/actions/OpenEntryAction.java | 5 +-
.../gui/actions/OpenInFileBrowserAction.java | 2 +-
.../actions/PasteEntryRepositoryAction.java | 2 +-
.../actions/RefreshRepositoryEntryAction.java | 2 +-
.../actions/RenameRepositoryEntryAction.java | 30 +-
.../ShowProcessInRepositoryAction.java | 2 +-
.../repository/gui/actions/SortByAction.java | 2 +-
.../gui/actions/SortByLastModifiedAction.java | 2 +-
.../gui/actions/SortByNameAction.java | 2 +-
.../gui/actions/StoreProcessAction.java | 2 +-
.../gui/process/ExceptionWrapper.java | 2 +-
.../gui/process/OutputLocation.java | 2 +-
.../RepositoryGlobalSearchGUIProvider.java | 344 ++
.../repository/internal/db/DBRepository.java | 2 +-
.../internal/remote/ConnectionListener.java | 2 +-
.../internal/remote/RemoteBlobEntry.java | 2 +-
.../internal/remote/RemoteContentManager.java | 2 +-
.../internal/remote/RemoteDataEntry.java | 2 +-
.../internal/remote/RemoteEntry.java | 2 +-
.../internal/remote/RemoteFolder.java | 2 +-
.../internal/remote/RemoteIOObjectEntry.java | 2 +-
.../internal/remote/RemoteInfoService.java | 2 +-
.../internal/remote/RemoteProcessEntry.java | 2 +-
.../internal/remote/RemoteRepository.java | 29 +-
.../remote/RemoteRepositoryFactory.java | 2 +-
.../RemoteRepositoryFactoryRegistry.java | 2 +-
.../internal/remote/RemoteScheduler.java | 2 +-
.../repository/local/LocalRepository.java | 12 +-
.../repository/local/SimpleBlobEntry.java | 2 +-
.../repository/local/SimpleDataEntry.java | 2 +-
.../repository/local/SimpleEntry.java | 8 +-
.../repository/local/SimpleFolder.java | 10 +-
.../repository/local/SimpleIOObjectEntry.java | 7 +-
.../repository/local/SimpleProcessEntry.java | 6 +-
.../resource/ResourceDataEntry.java | 2 +-
.../repository/resource/ResourceEntry.java | 2 +-
.../repository/resource/ResourceFolder.java | 2 +-
.../resource/ResourceIOObjectEntry.java | 2 +-
.../resource/ResourceProcessEntry.java | 2 +-
.../resource/ResourceRepository.java | 2 +-
.../repository/resource/TemplatesFolder.java | 2 +-
.../repository/resource/TutorialFolder.java | 2 +-
.../resource/TutorialGroupFolder.java | 2 +-
.../resource/ZipResourceBlobEntry.java | 2 +-
.../resource/ZipResourceFolder.java | 2 +-
.../resource/ZipResourceIOObjectEntry.java | 2 +-
.../resource/ZipResourceProcessEntry.java | 2 +-
.../resource/ZipStreamResource.java | 2 +-
.../search/RepositoryGlobalSearch.java | 60 +
.../search/RepositoryGlobalSearchItem.java | 142 +
.../search/RepositoryGlobalSearchManager.java | 491 ++
.../search/AbstractGlobalSearchManager.java | 307 ++
.../search/GlobalSearchCategory.java | 75 +
.../search/GlobalSearchDefaultField.java | 74 +
.../search/GlobalSearchHandler.java | 364 ++
.../search/GlobalSearchIndexer.java | 354 ++
.../search/GlobalSearchManager.java | 92 +
.../search/GlobalSearchRegistry.java | 189 +
.../rapidminer/search/GlobalSearchResult.java | 132 +
.../search/GlobalSearchResultBuilder.java | 177 +
.../search/GlobalSearchUtilities.java | 315 ++
.../rapidminer/search/GlobalSearchable.java | 36 +
.../GlobalSearchManagerEventHandler.java | 145 +
.../event/GlobalSearchManagerListener.java | 66 +
.../event/GlobalSearchRegistryEvent.java | 69 +
.../GlobalSearchRegistryEventListener.java | 48 +
.../security/PluginSandboxPolicy.java | 88 +-
.../security/PluginSecurityManager.java | 2 +-
.../internal/InternalPluginClassLoader.java | 2 +-
.../internal/ConcurrencyExecutionService.java | 2 +-
.../ConcurrencyExecutionServiceProvider.java | 2 +-
.../internal/ExecutionExceptionHandling.java | 65 +-
.../internal/RecursiveWrapper.java | 2 +-
.../internal/StudioConcurrencyContext.java | 50 +-
.../internal/util/BackgroundExecution.java | 2 +-
.../BackgroundExecutionServiceListener.java | 2 +-
.../internal/util/ExampleSetAppender.java | 2 +-
.../util/ProcessBackgroundExecution.java | 2 +-
.../util/ProcessBackgroundExecutionState.java | 2 +-
.../util/ProcessExecutionStackEntry.java | 2 +-
.../NoStartupDialogRegistreredException.java | 2 +-
.../internal/ParameterServiceProvider.java | 2 +-
.../internal/ParameterServiceRegistry.java | 2 +-
.../internal/ProcessFlowFilterRegistry.java | 2 +-
.../ProcessStoppedRuntimeException.java | 2 +-
.../rapidminer/studio/internal/Resources.java | 2 +-
.../studio/internal/RuleProvider.java | 2 +-
.../studio/internal/RuleProviderRegistry.java | 2 +-
.../internal/StartupDialogProvider.java | 2 +-
.../internal/StartupDialogRegistry.java | 2 +-
.../studio/io/data/DataSetReader.java | 2 +-
.../studio/io/data/DefaultColumnMetaData.java | 2 +-
.../io/data/DefaultDataSetMetaData.java | 2 +-
.../HeaderRowBehindStartRowException.java | 2 +-
.../io/data/HeaderRowNotFoundException.java | 2 +-
.../io/data/StartRowNotFoundException.java | 2 +-
.../io/data/internal/ResultSetAdapter.java | 2 +-
.../data/internal/ResultSetAdapterUtils.java | 2 +-
.../internal/file/LocalFileDataSource.java | 2 +-
.../file/LocalFileDataSourceFactory.java | 2 +-
.../file/LocalFileLocationChooserView.java | 2 +-
.../file/LocalFileLocationWizardStep.java | 2 +-
.../file/binary/BinaryDataSource.java | 2 +-
.../file/binary/BinaryDataSourceFactory.java | 2 +-
.../BinaryImportDestinationChooser.java | 2 +-
.../file/binary/DumpToRepositoryStep.java | 11 +-
.../data/internal/file/csv/CSVDataSource.java | 2 +-
.../file/csv/CSVDataSourceFactory.java | 2 +-
.../file/csv/CSVFormatSpecificationPanel.java | 2 +-
.../csv/CSVFormatSpecificationWizardStep.java | 2 +-
.../file/csv/CSVResultSetAdapter.java | 2 +-
.../file/excel/CellRangeSelection.java | 2 +-
.../internal/file/excel/ExcelDataSource.java | 4 +-
.../excel/ExcelDataSourceConfiguration.java | 2 +-
.../file/excel/ExcelDataSourceFactory.java | 2 +-
.../file/excel/ExcelResultSetAdapter.java | 2 +-
.../ExcelSheetSelectionModelListener.java | 2 +-
.../file/excel/ExcelSheetSelectionPanel.java | 2 +-
.../excel/ExcelSheetSelectionPanelModel.java | 2 +-
.../excel/ExcelSheetSelectionWizardStep.java | 3 +-
.../io/gui/internal/DataImportWizard.java | 2 +-
.../gui/internal/DataImportWizardBuilder.java | 2 +-
.../gui/internal/DataImportWizardUtils.java | 2 +-
.../io/gui/internal/DataWizardEventType.java | 2 +-
.../steps/AbstractToRepositoryStep.java | 2 +-
.../internal/steps/AbstractWizardStep.java | 2 +-
.../internal/steps/LocationSelectionStep.java | 2 +-
.../internal/steps/StoreToRepositoryStep.java | 2 +-
.../gui/internal/steps/TypeSelectionStep.java | 2 +-
.../gui/internal/steps/TypeSelectionView.java | 2 +-
.../AbstractErrorWarningTableModel.java | 2 +-
.../configuration/CollapsibleErrorTable.java | 2 +-
.../steps/configuration/ColumnError.java | 2 +-
.../configuration/ConfigureDataStep.java | 2 +-
.../ConfigureDataTableHeader.java | 2 +-
.../ConfigureDataTableModel.java | 2 +-
.../configuration/ConfigureDataValidator.java | 2 +-
.../configuration/ConfigureDataView.java | 2 +-
.../configuration/ErrorWarningTableModel.java | 2 +-
.../steps/configuration/ParsingError.java | 2 +-
.../com/rapidminer/template/Template.java | 2 +-
.../rapidminer/template/TemplateManager.java | 2 +-
.../test/asserter/AsserterFactory.java | 2 +-
.../asserter/AsserterFactoryRapidMiner.java | 2 +-
.../com/rapidminer/test_utils/Asserter.java | 2 +-
.../test_utils/AsserterRegistry.java | 2 +-
.../rapidminer/test_utils/RapidAssert.java | 2 +-
.../java/com/rapidminer/test_utils/Util.java | 2 +-
.../tools/AbstractChangeAwareSaveable.java | 2 +-
.../rapidminer/tools/AbstractObservable.java | 2 +-
.../java/com/rapidminer/tools/BugReport.java | 2 +-
.../rapidminer/tools/CSVParseException.java | 2 +-
.../rapidminer/tools/ChangeAwareSaveable.java | 2 +-
.../com/rapidminer/tools/ClassColorMap.java | 2 +-
.../com/rapidminer/tools/ClassNameMapper.java | 2 +-
.../java/com/rapidminer/tools/DateParser.java | 2 +-
.../tools/DefaultMailSessionFactory.java | 2 +-
.../rapidminer/tools/DelegatingObserver.java | 2 +-
.../tools/DominatingClassFinder.java | 2 +-
.../com/rapidminer/tools/DynamicIcon.java | 2 +-
.../tools/DynamicIconUrlStreamHandler.java | 2 +-
.../tools/ExtensibleResourceBundle.java | 2 +-
.../rapidminer/tools/FileSystemService.java | 84 +-
.../rapidminer/tools/FixedConsoleHandler.java | 2 +-
.../java/com/rapidminer/tools/FontTools.java | 2 +-
.../tools/GenericOperatorFactory.java | 2 +-
.../com/rapidminer/tools/GlobCompiler.java | 2 +-
.../rapidminer/tools/GlobalAuthenticator.java | 2 +-
.../java/com/rapidminer/tools/GroupTree.java | 2 +-
.../com/rapidminer/tools/GroupTreeNode.java | 2 +-
.../com/rapidminer/tools/GroupTreeRoot.java | 2 +-
src/main/java/com/rapidminer/tools/I18N.java | 4 +-
.../rapidminer/tools/IterationArrayList.java | 2 +-
.../com/rapidminer/tools/LaunchListener.java | 2 +-
.../java/com/rapidminer/tools/LineParser.java | 2 +-
.../java/com/rapidminer/tools/LogService.java | 2 +-
.../com/rapidminer/tools/LoggingHandler.java | 2 +-
.../java/com/rapidminer/tools/MailSender.java | 2 +-
.../com/rapidminer/tools/MailSenderSMTP.java | 2 +-
.../rapidminer/tools/MailSenderSendmail.java | 2 +-
.../rapidminer/tools/MailSessionFactory.java | 2 +-
.../com/rapidminer/tools/MailUtilities.java | 2 +-
.../java/com/rapidminer/tools/NetTools.java | 2 +-
.../tools/NonClosingZipInputStream.java | 2 +-
.../com/rapidminer/tools/NumberParser.java | 2 +-
.../tools/ObjectVisualizerService.java | 2 +-
.../java/com/rapidminer/tools/Observable.java | 2 +-
.../java/com/rapidminer/tools/Observer.java | 2 +-
.../java/com/rapidminer/tools/Ontology.java | 2 +-
.../OperatorResourceConsumptionHandler.java | 2 +-
.../com/rapidminer/tools/OperatorService.java | 16 +-
.../tools/OutputStreamMultiplier.java | 2 +-
.../rapidminer/tools/ParameterService.java | 8 +-
.../rapidminer/tools/ParentResolvingMap.java | 2 +-
.../tools/PasswordInputCanceledException.java | 2 +-
.../rapidminer/tools/PlatformUtilities.java | 2 +-
.../com/rapidminer/tools/ProcessTools.java | 2 +-
.../rapidminer/tools/ProgressListener.java | 2 +-
.../com/rapidminer/tools/ProxySettings.java | 2 +-
.../com/rapidminer/tools/RMUrlHandler.java | 2 +-
.../com/rapidminer/tools/RandomGenerator.java | 2 +-
.../com/rapidminer/tools/ReferenceCache.java | 2 +-
.../com/rapidminer/tools/ResourceSource.java | 2 +-
.../com/rapidminer/tools/ResultService.java | 2 +-
.../rapidminer/tools/SimpleObservable.java | 2 +-
.../rapidminer/tools/StrictDecimalFormat.java | 4 +-
.../com/rapidminer/tools/StringColorMap.java | 2 +-
.../rapidminer/tools/StringProperties.java | 2 +-
.../rapidminer/tools/SystemInfoUtilities.java | 2 +-
.../java/com/rapidminer/tools/TimeFormat.java | 2 +-
src/main/java/com/rapidminer/tools/Tools.java | 28 +-
.../com/rapidminer/tools/WebServiceTools.java | 32 +-
.../com/rapidminer/tools/WeightedObject.java | 2 +-
.../tools/WrapperLoggingHandler.java | 2 +-
.../rapidminer/tools/WriterMultiplier.java | 2 +-
.../com/rapidminer/tools/XMLException.java | 2 +-
.../rapidminer/tools/XMLParserException.java | 19 +
.../rapidminer/tools/XMLSerialization.java | 2 +-
.../com/rapidminer/tools/XmlRpcHandler.java | 2 +-
.../tools/att/AttributeDataSource.java | 10 +-
.../tools/att/AttributeDataSourceCreator.java | 2 +-
.../tools/att/AttributeDataSources.java | 2 +-
.../rapidminer/tools/att/AttributeSet.java | 2 +-
.../tools/cipher/CipherException.java | 2 +-
.../tools/cipher/CipherKeyProvider.java | 2 +-
.../rapidminer/tools/cipher/CipherTools.java | 24 +-
.../tools/cipher/FileCipherKeyProvider.java | 2 +-
.../tools/cipher/KeyGenerationException.java | 2 +-
.../tools/cipher/KeyGeneratorTool.java | 2 +-
.../tools/cipher/KeyLoadingException.java | 2 +-
.../tools/cipher/KeyStoringException.java | 2 +-
.../tools/config/AbstractConfigurable.java | 2 +-
.../tools/config/AbstractConfigurator.java | 2 +-
.../config/ClientConfigurationManager.java | 2 +-
.../rapidminer/tools/config/Configurable.java | 2 +-
.../tools/config/ConfigurationException.java | 2 +-
.../tools/config/ConfigurationManager.java | 92 +-
.../ConfigurationNameConflictException.java | 2 +-
.../rapidminer/tools/config/Configurator.java | 2 +-
.../config/ConfiguratorParameterHandler.java | 2 +-
.../config/ParameterTypeConfigurable.java | 2 +-
.../tools/config/TestConfigurableAction.java | 2 +-
.../tools/config/actions/ActionResult.java | 2 +-
.../config/actions/ConfigurableAction.java | 2 +-
.../config/actions/SimpleActionResult.java | 2 +-
.../gui/ConfigurableAdminPasswordDialog.java | 3 +-
.../config/gui/ConfigurableController.java | 15 +-
.../gui/ConfigurableCreationDialog.java | 3 +-
.../tools/config/gui/ConfigurableDialog.java | 25 +-
.../gui/ConfigurableUserAccessDialog.java | 10 +-
.../gui/ConfiguratorParameterPanel.java | 2 +-
.../gui/LoginAsAdminDropDownButton.java | 2 +-
.../RefreshConfigurablesDropDownButton.java | 45 +-
.../config/gui/event/ConfigurableEvent.java | 2 +-
.../event/ConfigurableModelEventListener.java | 2 +-
.../config/gui/model/ConfigurableModel.java | 174 +-
.../ConfigurableInfoLabelRenderer.java | 2 +-
.../gui/renderer/ConfigurableRenderer.java | 2 +-
.../gui/renderer/ConfigurationRenderer.java | 2 +-
.../rapidminer/tools/config/jwt/JwtClaim.java | 52 +
.../tools/config/jwt/JwtReader.java | 112 +
.../tools/container/ComparablePair.java | 2 +-
.../container/MultidimensionalArraySet.java | 2 +-
.../com/rapidminer/tools/container/Pair.java | 2 +-
.../rapidminer/tools/container/Triple.java | 2 +-
.../com/rapidminer/tools/container/Tupel.java | 2 +-
.../tools/container/ValueAndCount.java | 2 +-
.../rapidminer/tools/container/ValueSet.java | 2 +-
.../tools/documentation/ExampleProcess.java | 2 +-
.../documentation/GroupDocumentation.java | 2 +-
.../documentation/OperatorDocBundle.java | 2 +-
.../documentation/OperatorDocumentation.java | 2 +-
.../documentation/XMLOperatorDocBundle.java | 21 +-
.../rapidminer/tools/expression/Constant.java | 2 +-
.../tools/expression/DoubleCallable.java | 2 +-
.../tools/expression/ExampleResolver.java | 2 +-
.../tools/expression/Expression.java | 2 +-
.../tools/expression/ExpressionContext.java | 2 +-
.../tools/expression/ExpressionEvaluator.java | 2 +-
.../tools/expression/ExpressionException.java | 2 +-
.../tools/expression/ExpressionParser.java | 2 +-
.../expression/ExpressionParserBuilder.java | 2 +-
.../expression/ExpressionParserModule.java | 2 +-
.../ExpressionParsingException.java | 2 +-
.../tools/expression/ExpressionRegistry.java | 2 +-
.../tools/expression/ExpressionType.java | 2 +-
.../rapidminer/tools/expression/Function.java | 2 +-
.../tools/expression/FunctionDescription.java | 2 +-
.../tools/expression/FunctionInput.java | 2 +-
.../expression/FunctionInputException.java | 2 +-
.../tools/expression/MacroResolver.java | 2 +-
.../rapidminer/tools/expression/Resolver.java | 2 +-
.../tools/expression/UnknownValue.java | 2 +-
.../expression/internal/BasicConstants.java | 2 +-
.../expression/internal/ConstantResolver.java | 2 +-
.../internal/ExpressionParserConstants.java | 2 +-
.../internal/ExpressionParserUtils.java | 2 +-
.../expression/internal/SimpleConstant.java | 2 +-
.../internal/SimpleExpressionContext.java | 2 +-
.../internal/SimpleExpressionEvaluator.java | 2 +-
.../StandardFunctionsWithConstants.java | 2 +-
.../internal/StandardOperations.java | 2 +-
.../UnknownResolverVariableException.java | 2 +-
.../internal/antlr/AntlrParser.java | 2 +-
.../antlr/CapitulatingErrorStrategy.java | 2 +-
.../CapitulatingFunctionExpressionLexer.java | 2 +-
.../antlr/CapitulatingRuntimeException.java | 2 +-
.../antlr/EvaluatorCreationVisitor.java | 2 +-
.../antlr/ExpressionErrorListener.java | 2 +-
.../internal/antlr/FunctionListener.java | 2 +-
.../internal/antlr/SimpleExpression.java | 2 +-
.../UnknownDynamicVariableException.java | 2 +-
.../antlr/UnknownFunctionException.java | 2 +-
.../antlr/UnknownScopeConstantException.java | 2 +-
.../antlr/UnknownVariableException.java | 2 +-
.../Abstract1DoubleInputFunction.java | 2 +-
.../Abstract2DoubleInputFunction.java | 2 +-
.../AbstractArbitraryDoubleInputFunction.java | 2 +-
...itraryStringInputStringOutputFunction.java | 2 +-
.../internal/function/AbstractFunction.java | 2 +-
.../internal/function/basic/Divide.java | 2 +-
.../internal/function/basic/Minus.java | 2 +-
.../internal/function/basic/Modulus.java | 2 +-
.../internal/function/basic/Multiply.java | 2 +-
.../internal/function/basic/Plus.java | 2 +-
.../internal/function/basic/Power.java | 2 +-
.../internal/function/bitwise/BitAnd.java | 2 +-
.../internal/function/bitwise/BitNot.java | 2 +-
.../internal/function/bitwise/BitOr.java | 2 +-
.../internal/function/bitwise/BitXor.java | 2 +-
...AbstractComparisonFunctionWith2Inputs.java | 2 +-
.../AbstractEqualityFunctionWith2Inputs.java | 2 +-
.../internal/function/comparison/Equals.java | 2 +-
.../internal/function/comparison/Finite.java | 2 +-
.../function/comparison/GreaterEqualThan.java | 2 +-
.../function/comparison/GreaterThan.java | 2 +-
.../function/comparison/LessEqualThan.java | 2 +-
.../function/comparison/LessThan.java | 2 +-
.../internal/function/comparison/Missing.java | 2 +-
.../function/comparison/NotEquals.java | 2 +-
.../function/conversion/DateParse.java | 2 +-
.../function/conversion/DateParseCustom.java | 2 +-
.../conversion/DateParseWithLocale.java | 2 +-
.../function/conversion/DateString.java | 2 +-
.../function/conversion/DateStringCustom.java | 2 +-
.../function/conversion/DateStringLocale.java | 2 +-
.../conversion/NumericalToString.java | 2 +-
.../conversion/StringToNumerical.java | 2 +-
.../date/Abstract2DateInputBooleanOutput.java | 2 +-
...stract2DateInputIntegerOutputFunction.java | 2 +-
.../AbstractDateManipulationFunction.java | 2 +-
.../internal/function/date/DateAdd.java | 2 +-
.../internal/function/date/DateAfter.java | 2 +-
.../internal/function/date/DateBefore.java | 2 +-
.../internal/function/date/DateDiff.java | 2 +-
.../internal/function/date/DateGet.java | 2 +-
.../internal/function/date/DateMillis.java | 2 +-
.../internal/function/date/DateNow.java | 2 +-
.../internal/function/date/DateSet.java | 2 +-
.../internal/function/eval/Evaluation.java | 2 +-
.../SubexpressionEvaluationException.java | 2 +-
.../internal/function/eval/TypeConstants.java | 2 +-
.../logical/AbstractLogicalFunction.java | 2 +-
.../AbstractLogicalFunctionWith1Input.java | 2 +-
.../AbstractLogicalFunctionWith2Inputs.java | 2 +-
.../internal/function/logical/And.java | 2 +-
.../internal/function/logical/If.java | 2 +-
.../internal/function/logical/Not.java | 2 +-
.../internal/function/logical/Or.java | 2 +-
.../function/mathematical/AbsoluteValue.java | 2 +-
.../mathematical/BinaryLogarithm.java | 2 +-
.../mathematical/CommonLogarithm.java | 2 +-
.../mathematical/ExponentialFunction.java | 2 +-
.../mathematical/ModulusAsFunction.java | 2 +-
.../mathematical/NaturalLogarithm.java | 2 +-
.../mathematical/PowerAsFunction.java | 2 +-
.../function/mathematical/Signum.java | 2 +-
.../function/mathematical/SquareRoot.java | 2 +-
.../internal/function/process/MacroValue.java | 2 +-
.../function/process/ParameterValue.java | 2 +-
.../Abstract1or2DoubleInputFunction.java | 2 +-
.../internal/function/rounding/Ceil.java | 2 +-
.../internal/function/rounding/Floor.java | 2 +-
.../internal/function/rounding/Rint.java | 2 +-
.../internal/function/rounding/Round.java | 2 +-
.../function/statistical/Average.java | 2 +-
.../function/statistical/Binominal.java | 2 +-
.../function/statistical/Maximum.java | 2 +-
.../function/statistical/Minimum.java | 2 +-
.../internal/function/statistical/Random.java | 2 +-
.../internal/function/statistical/Sum.java | 2 +-
...ract1StringInputIntegerOutputFunction.java | 2 +-
...ract2StringInputBooleanOutputFunction.java | 2 +-
...ract2StringInputIntegerOutputFunction.java | 2 +-
...tringIntegerInputStringOutputFunction.java | 2 +-
.../internal/function/text/CharAt.java | 2 +-
.../internal/function/text/Compare.java | 2 +-
.../internal/function/text/Concat.java | 2 +-
.../internal/function/text/Contains.java | 2 +-
.../internal/function/text/Cut.java | 2 +-
.../internal/function/text/Ends.java | 2 +-
.../internal/function/text/EscapeHTML.java | 2 +-
.../internal/function/text/Finds.java | 2 +-
.../internal/function/text/Index.java | 2 +-
.../internal/function/text/Length.java | 2 +-
.../internal/function/text/Lower.java | 2 +-
.../internal/function/text/Matches.java | 2 +-
.../internal/function/text/Prefix.java | 2 +-
.../internal/function/text/Replace.java | 2 +-
.../internal/function/text/ReplaceAll.java | 2 +-
.../internal/function/text/Starts.java | 2 +-
.../internal/function/text/Suffix.java | 2 +-
.../internal/function/text/TextEquals.java | 2 +-
.../internal/function/text/Trim.java | 2 +-
.../internal/function/text/Upper.java | 2 +-
.../function/trigonometric/ArcCosine.java | 2 +-
.../trigonometric/ArcHyperbolicCosine.java | 2 +-
.../trigonometric/ArcHyperbolicSine.java | 2 +-
.../trigonometric/ArcHyperbolicTangent.java | 2 +-
.../function/trigonometric/ArcSine.java | 2 +-
.../function/trigonometric/ArcTangent.java | 2 +-
.../function/trigonometric/ArcTangent2.java | 2 +-
.../function/trigonometric/Cosecant.java | 2 +-
.../function/trigonometric/Cosine.java | 2 +-
.../function/trigonometric/Cotangent.java | 2 +-
.../trigonometric/HyperbolicCosine.java | 2 +-
.../trigonometric/HyperbolicSine.java | 2 +-
.../trigonometric/HyperbolicTangent.java | 2 +-
.../function/trigonometric/Secant.java | 2 +-
.../function/trigonometric/Sinus.java | 2 +-
.../function/trigonometric/Tangent.java | 2 +-
.../com/rapidminer/tools/io/Encoding.java | 2 +-
.../tools/io/GlobFilenameFilter.java | 2 +-
.../io/ProgressReportingInputStream.java | 2 +-
.../io/ProgressReportingOutputStream.java | 2 +-
.../tools/io/TransferableImage.java | 2 +-
.../tools/math/AnovaCalculator.java | 2 +-
.../com/rapidminer/tools/math/Averagable.java | 2 +-
.../rapidminer/tools/math/AverageVector.java | 2 +-
.../tools/math/BinaryPeakFinder.java | 2 +-
.../tools/math/CombinationGenerator.java | 2 +-
.../com/rapidminer/tools/math/Complex.java | 2 +-
.../tools/math/ContingencyTableTools.java | 2 +-
.../tools/math/FastFourierTransform.java | 2 +-
.../tools/math/LiftDataGenerator.java | 2 +-
.../tools/math/LinearRegression.java | 2 +-
.../rapidminer/tools/math/MathFunctions.java | 46 +-
.../java/com/rapidminer/tools/math/Peak.java | 2 +-
.../com/rapidminer/tools/math/PeakFinder.java | 2 +-
.../com/rapidminer/tools/math/ROCBias.java | 2 +-
.../com/rapidminer/tools/math/ROCData.java | 2 +-
.../tools/math/ROCDataGenerator.java | 2 +-
.../com/rapidminer/tools/math/ROCPoint.java | 2 +-
.../com/rapidminer/tools/math/RunVector.java | 2 +-
.../SignificanceCalculationException.java | 2 +-
.../tools/math/SignificanceTestResult.java | 2 +-
.../tools/math/SimplePeakFinder.java | 2 +-
.../rapidminer/tools/math/SpectrumFilter.java | 2 +-
.../tools/math/StringToMatrixConverter.java | 2 +-
.../com/rapidminer/tools/math/TestGroup.java | 2 +-
.../com/rapidminer/tools/math/VectorMath.java | 2 +-
.../math/WeightedConfidenceAndLabel.java | 2 +-
.../rapidminer/tools/math/WindowFunction.java | 2 +-
.../tools/math/container/BallTree.java | 2 +-
.../tools/math/container/BallTreeNode.java | 2 +-
.../math/container/BoundedPriorityQueue.java | 2 +-
.../container/GeometricDataCollection.java | 2 +-
.../tools/math/container/KDTree.java | 2 +-
.../tools/math/container/KDTreeNode.java | 2 +-
.../tools/math/container/LinearList.java | 2 +-
.../tools/math/container/Range.java | 2 +-
.../ReverseComparableComparator.java | 2 +-
.../math/container/ReverseComparator.java | 2 +-
.../distribution/ContinuousDistribution.java | 2 +-
.../distribution/DiscreteDistribution.java | 2 +-
.../tools/math/distribution/Distribution.java | 2 +-
.../distribution/EmpiricalDistribution.java | 2 +-
.../EmpiricalNormalDistribution.java | 2 +-
.../math/distribution/NormalDistribution.java | 2 +-
.../kernel/FullKernelDistribution.java | 2 +-
.../kernel/GreedyKernelDistribution.java | 2 +-
.../kernel/KernelDistribution.java | 2 +-
.../distribution/kernel/NormalKernel.java | 2 +-
.../AbstractAggregationFunction.java | 2 +-
.../aggregation/AggregationFunction.java | 2 +-
.../function/aggregation/AverageFunction.java | 2 +-
.../function/aggregation/CountFunction.java | 2 +-
.../function/aggregation/MaxFunction.java | 2 +-
.../function/aggregation/MedianFunction.java | 2 +-
.../function/aggregation/MinFunction.java | 2 +-
.../function/aggregation/ModeFunction.java | 2 +-
.../function/aggregation/ProductFunction.java | 2 +-
.../StandardDeviationFunction.java | 2 +-
.../function/aggregation/SumFunction.java | 2 +-
.../aggregation/VarianceFunction.java | 2 +-
.../window/BartlettWindowFunction.java | 2 +-
.../window/BlackmanHarrisWindowFunction.java | 2 +-
.../window/BlackmanWindowFunction.java | 2 +-
.../window/GaussianWindowFunction.java | 2 +-
.../window/HammingWindowFunction.java | 2 +-
.../function/window/HannWindowFunction.java | 2 +-
.../window/RectangularWindowFunction.java | 2 +-
.../window/TriangularWindowFunction.java | 2 +-
.../math/function/window/WindowFunction.java | 2 +-
.../tools/math/kernels/AnovaKernel.java | 2 +-
.../tools/math/kernels/DotKernel.java | 2 +-
.../math/kernels/EpanechnikovKernel.java | 2 +-
.../tools/math/kernels/FullCache.java | 2 +-
.../kernels/GaussianCombinationKernel.java | 2 +-
.../rapidminer/tools/math/kernels/Kernel.java | 2 +-
.../tools/math/kernels/KernelCache.java | 2 +-
.../tools/math/kernels/MapBasedCache.java | 2 +-
.../math/kernels/MultiquadricKernel.java | 2 +-
.../tools/math/kernels/PolynomialKernel.java | 2 +-
.../tools/math/kernels/RBFKernel.java | 2 +-
.../tools/math/kernels/SigmoidKernel.java | 2 +-
.../tools/math/matrix/CovarianceMatrix.java | 2 +-
.../tools/math/matrix/MatrixTools.java | 2 +-
.../tools/math/optimization/Optimization.java | 2 +-
.../ec/es/BoltzmannSelection.java | 2 +-
.../math/optimization/ec/es/Crossover.java | 2 +-
.../math/optimization/ec/es/CutSelection.java | 2 +-
.../optimization/ec/es/ESOptimization.java | 2 +-
.../optimization/ec/es/ElitistSelection.java | 2 +-
.../optimization/ec/es/GaussianMutation.java | 2 +-
.../math/optimization/ec/es/Individual.java | 2 +-
.../math/optimization/ec/es/Mutation.java | 2 +-
.../ec/es/NonDominatedSortingSelection.java | 2 +-
.../ec/es/OptimizationValueType.java | 2 +-
.../math/optimization/ec/es/Population.java | 2 +-
.../ec/es/PopulationOperator.java | 2 +-
.../optimization/ec/es/PopulationPlotter.java | 2 +-
.../optimization/ec/es/RankSelection.java | 2 +-
.../optimization/ec/es/RouletteWheel.java | 2 +-
.../optimization/ec/es/SparsityMutation.java | 2 +-
.../ec/es/StochasticUniversalSampling.java | 2 +-
.../optimization/ec/es/SwitchingMutation.java | 2 +-
.../ec/es/TournamentSelection.java | 2 +-
.../optimization/ec/es/UniformSelection.java | 2 +-
.../optimization/ec/es/VarianceAdaption.java | 2 +-
.../optimization/ec/pso/PSOOptimization.java | 2 +-
.../math/optimization/ec/pso/Population.java | 2 +-
.../OrderedSamplingWithoutReplacement.java | 2 +-
.../math/similarity/BregmanDivergence.java | 2 +-
.../math/similarity/DistanceMeasure.java | 2 +-
.../similarity/DistanceMeasureHelper.java | 2 +-
.../math/similarity/DistanceMeasures.java | 2 +-
.../math/similarity/SimilarityMeasure.java | 2 +-
.../divergences/GeneralizedIDivergence.java | 2 +-
.../divergences/ItakuraSaitoDistance.java | 2 +-
.../similarity/divergences/KLDivergence.java | 2 +-
.../divergences/LogarithmicLoss.java | 2 +-
.../similarity/divergences/LogisticLoss.java | 2 +-
.../divergences/MahalanobisDistance.java | 2 +-
.../divergences/SquaredEuclideanDistance.java | 2 +-
.../similarity/divergences/SquaredLoss.java | 2 +-
.../mixed/MixedEuclideanDistance.java | 2 +-
.../nominal/AbstractNominalSimilarity.java | 2 +-
.../nominal/DiceNominalSimilarity.java | 2 +-
.../nominal/JaccardNominalSimilarity.java | 2 +-
.../nominal/KulczynskiNominalSimilarity.java | 2 +-
.../nominal/LevenshteinDistance.java | 2 +-
.../similarity/nominal/NominalDistance.java | 2 +-
.../RogersTanimotoNominalSimilarity.java | 2 +-
.../nominal/RussellRaoNominalSimilarity.java | 2 +-
.../SimpleMatchingNominalSimilarity.java | 2 +-
.../numerical/CamberraNumericalDistance.java | 2 +-
.../numerical/ChebychevNumericalDistance.java | 2 +-
.../numerical/CorrelationSimilarity.java | 2 +-
.../numerical/CosineSimilarity.java | 2 +-
.../similarity/numerical/DTWDistance.java | 2 +-
.../numerical/DiceNumericalSimilarity.java | 2 +-
.../numerical/EuclideanDistance.java | 2 +-
.../numerical/InnerProductSimilarity.java | 2 +-
.../numerical/JaccardNumericalSimilarity.java | 2 +-
.../numerical/KernelEuclideanDistance.java | 2 +-
.../numerical/ManhattanDistance.java | 2 +-
.../numerical/MaxProductSimilarity.java | 2 +-
.../numerical/OverlapNumericalSimilarity.java | 2 +-
.../smoothing/BisquareSmoothingKernel.java | 2 +-
.../EpanechnikovSmoothingKernel.java | 2 +-
.../smoothing/ExponentialSmoothingKernel.java | 2 +-
.../smoothing/GaussianSmoothingKernel.java | 2 +-
.../math/smoothing/McLainSmoothingKernel.java | 2 +-
.../smoothing/RectangularSmoothingKernel.java | 2 +-
.../tools/math/smoothing/SmoothingKernel.java | 2 +-
.../math/smoothing/SmoothingKernels.java | 2 +-
.../smoothing/TriangularSmoothingKernel.java | 2 +-
.../smoothing/TricubeSmoothingKernel.java | 2 +-
.../smoothing/TriweightSmoothingKernel.java | 2 +-
.../tools/math/som/AdaptationFunction.java | 2 +-
.../tools/math/som/DistanceFunction.java | 2 +-
.../tools/math/som/EuclideanDistance.java | 2 +-
.../rapidminer/tools/math/som/KohonenNet.java | 2 +-
.../tools/math/som/KohonenNode.java | 2 +-
.../tools/math/som/KohonenTrainingsData.java | 2 +-
.../tools/math/som/ProgressListener.java | 2 +-
.../tools/math/som/RandomDataContainer.java | 2 +-
.../tools/math/som/RitterAdaptation.java | 2 +-
.../tools/metadata/MetaDataTools.java | 2 +-
.../rapidminer/tools/parameter/Parameter.java | 2 +-
.../parameter/ParameterChangeListener.java | 2 +-
.../tools/parameter/ParameterScope.java | 2 +-
.../tools/parameter/ParameterWriter.java | 2 +-
.../parameter/WindowsBatParameterWriter.java | 2 +-
.../parameter/WindowsExeParameterWriter.java | 2 +-
.../DataManagementParameterHelper.java | 2 +-
.../rapidminer/tools/patterns/Visitor.java | 2 +-
.../tools/plugin/AllPluginsClassLoader.java | 2 +-
.../rapidminer/tools/plugin/Dependency.java | 2 +-
.../tools/plugin/ManagedExtension.java | 10 +-
.../com/rapidminer/tools/plugin/Plugin.java | 3 +-
.../tools/plugin/PluginClassLoader.java | 2 +-
.../tools/plugin/PluginException.java | 2 +-
.../tools/update/internal/UpdateManager.java | 2 +-
.../update/internal/UpdateManagerFactory.java | 2 +-
.../internal/UpdateManagerRegistry.java | 2 +-
.../usagestats/ActionStatisticsCollector.java | 200 +-
.../usagestats/ActionStatisticsTable.java | 2 +-
.../usagestats/CallToActionScheduler.java | 2 +-
.../rapidminer/tools/usagestats/CtaDao.java | 2 +-
.../tools/usagestats/CtaDataSource.java | 2 +-
.../tools/usagestats/CtaEventAggregator.java | 6 +-
.../tools/usagestats/LocalRuleProvider.java | 2 +-
.../tools/usagestats/RemoteRuleProvider.java | 2 +-
.../com/rapidminer/tools/usagestats/Rule.java | 2 +-
.../tools/usagestats/RuleService.java | 2 +-
.../tools/usagestats/UsageStatistics.java | 5 +-
.../tools/usagestats/UsageStatsScheduler.java | 7 +-
.../UsageStatsTransmissionDialog.java | 2 +-
.../tools/usagestats/VerifiableRule.java | 2 +-
.../tools/xml/MapBasedNamespaceContext.java | 2 +-
.../tools/xml/XHTMLEntityResolver.java | 2 +-
.../com/rapidminer/tutorial/Tutorial.java | 2 +-
.../rapidminer/tutorial/TutorialGroup.java | 2 +-
.../rapidminer/tutorial/TutorialManager.java | 2 +-
.../rapidminer/tutorial/TutorialRegistry.java | 2 +-
.../tutorial/gui/TutorialBrowser.java | 10 +-
.../tutorial/gui/TutorialSelector.java | 2 +-
.../madm/operator/ClusteringAlgorithms.java | 2 +-
.../java/de/dfki/madm/operator/KMeanspp.java | 2 +-
.../madm/operator/clustering/XMeansCore.java | 2 +-
...AutoMLPImprovedNeuralNetModelRenderer.java | 2 +-
.../AutoMLPImprovedNeuralNetLearner.java | 2 +-
.../AutoMLPImprovedNeuralNetModel.java | 2 +-
.../AutoMLPImprovedNeuralNetVisualizer.java | 2 +-
.../rapidminer/resources/OperatorsCore.xml | 4666 +++++++++--------
.../resources/about_infos.properties | 2 +-
.../resources/i18n/Errors.properties | 1 +
.../rapidminer/resources/i18n/GUI.properties | 135 +-
.../resources/i18n/LogMessages.properties | 62 +-
.../i18n/OperatorsCoreDocumentation.xml | 6 +-
.../resources/i18n/Settings.properties | 13 +
.../i18n/UserErrorMessages.properties | 8 +-
.../02_Preprocessing/15_ExampleSetJoin.rmp | 2 +-
.../21_CreateAndNameOutlierCluster.rmp | 2 +-
.../22_CreateAndNameOutlierCluster.rmp | 2 +-
.../processes/07_Clustering/01_KMeans.rmp | 2 +-
.../07_Clustering/02_RestartsKMeans.rmp | 2 +-
...06_ClusterClassificationWithEvaluation.rmp | 2 +-
.../07_ClusterClassification.rmp | 2 +-
.../07_Clustering/08_KMeansWithEvaluation.rmp | 2 +-
.../07_Clustering/09_KMeansWithPlot.rmp | 2 +-
.../07_Clustering/11_TopDownClustering.rmp | 2 +-
.../com/rapidminer/resources/settings.xml | 5 +
.../resources/splash_infos.properties | 2 +-
.../template/credit_risk_modeling.template | Bin 69508 -> 70520 bytes
.../template/geographic_distances.template | Bin 562646 -> 161974 bytes
.../template/predictive_maintenance.template | Bin 66922 -> 68635 bytes
.../example/set/ColumnCleanupTest.java | 2 +-
.../ConcurrentExampleSetModificationTest.java | 2 +-
.../example/set/ExampleSetCreatorsTest.java | 2 +-
.../example/set/PartitionCompositionTest.java | 2 +-
.../SplittedExampleSetCompositionTest.java | 2 +-
.../example/table/NominalAttributeTest.java | 2 +-
.../table/internal/AutoColumnTest.java | 2 +-
.../internal/ColumnarExampleTableTest.java | 2 +-
.../table/internal/SparseChunkTest.java | 2 +-
.../example/test/DataRowConcurrencyTest.java | 2 +-
.../rapidminer/example/test/DataRowTest.java | 2 +-
.../example/test/ExampleTestTools.java | 2 +-
.../example/test/SparseReaderTest.java | 2 +-
.../example/utils/ExampleSetsTest.java | 2 +-
.../rapidminer/gui/security/WalletTest.java | 147 +
.../gui/tools/VersionNumberOrderingTest.java | 2 +-
.../rapidminer/io/process/XMLToolsTest.java | 31 +
.../test/PolynomialFunctionTest.java | 2 +-
.../associations/AssociationRulesTest.java | 2 +-
.../nio/model/xlsx/XlsxUtiliesTest.java | 2 +-
.../test/AbstractCriterionTestCase.java | 2 +-
.../test/ClassificationCriterionTest.java | 2 +-
.../test/EstimatedCriterionTest.java | 2 +-
.../test/MeasuredCriterionTest.java | 2 +-
.../MaterializeDataInMemoryTest.java | 2 +-
.../resource/ConcurrentRepositoryTest.java | 2 +-
.../repository/resource/TestIOObject.java | 2 +-
.../AbstractGlobalSearchManagerTest.java | 137 +
.../search/GlobalSearchCategoryTest.java | 73 +
.../search/GlobalSearchHandlerTest.java | 198 +
.../search/GlobalSearchRegistryTest.java | 174 +
.../search/GlobalSearchResultBuilderTest.java | 153 +
.../rapidminer/search/ParallelUsageTest.java | 313 ++
.../search/util/GlobalSearchableTextTest.java | 184 +
.../internal/ExampleSetAppenderTest.java | 2 +-
.../studio/io/data/DataSetReaderTest.java | 2 +-
.../file/FileDataSourceTestUtils.java | 2 +-
.../file/csv/CSVDataSourceDataTest.java | 2 +-
.../file/csv/CSVResultSetAdapterTest.java | 2 +-
.../AbstractExcelDataSourceDataTest.java | 6 +-
.../ExcelDataSourceConfigurationTest.java | 2 +-
.../file/excel/ExcelResultSetAdapterTest.java | 6 +-
.../file/excel/XlsDataSourceDataTest.java | 2 +-
.../file/excel/XlsxDataSourceDataTest.java | 2 +-
.../ConfigureDataTableModelTest.java | 2 +-
.../ConfigureDataValidatorTest.java | 2 +-
.../java/com/rapidminer/test/EscapeTest.java | 2 +-
.../test/IterationArrayListTest.java | 2 +-
.../com/rapidminer/test/MathUtilsTest.java | 2 +-
.../rapidminer/test/OperatorVersionTest.java | 2 +-
.../java/com/rapidminer/test/SECDTest.java | 2 +-
.../tools/StrictDecimalFormatTest.java | 31 +-
.../java/com/rapidminer/tools/ToolsTest.java | 2 +-
.../OperatorDescriptionTest.java | 2 +-
.../internal/antlr/ExpressionParserTest.java | 2 +-
.../internal/antlr/ParserConstantsTest.java | 2 +-
.../antlr/ParserExamplesAndMacrosTest.java | 2 +-
.../internal/function/AnltrParserIfTest.java | 2 +-
.../function/AntlrParserBasicTest.java | 2 +-
.../function/AntlrParserBitwiseTest.java | 2 +-
.../function/AntlrParserComparisonTest.java | 2 +-
.../function/AntlrParserConversionTest.java | 2 +-
.../function/AntlrParserDateTest.java | 2 +-
.../function/AntlrParserEqualsTest.java | 2 +-
.../function/AntlrParserEvalTest.java | 2 +-
.../function/AntlrParserLogicalTest.java | 2 +-
.../function/AntlrParserMathematicalTest.java | 2 +-
.../AntlrParserProcessFunctionTest.java | 2 +-
.../function/AntlrParserRoundingTest.java | 2 +-
.../function/AntlrParserStatisticalTest.java | 2 +-
.../AntlrParserStringInformationTest.java | 2 +-
.../AntlrParserStringTransformationTest.java | 2 +-
.../internal/function/AntlrParserTest.java | 2 +-
.../AntlrParserTrigonometricTest.java | 2 +-
.../com/rapidminer/gui/security/secrets.xml | 30 +
.../rapidminer/io/process/XXE_corrupted.xml | 79 +
.../rapidminer/io/process/some_process.xml | 77 +
.../resources/com/rapidminer/search/br.txt | 61 +
3716 files changed, 21060 insertions(+), 8704 deletions(-)
create mode 100644 src/main/java/com/rapidminer/gui/actions/ManageConfigurablesAction.java
create mode 100644 src/main/java/com/rapidminer/gui/actions/ManagePasswordsAction.java
create mode 100644 src/main/java/com/rapidminer/gui/actions/RestoreDefaultPerspectiveAction.java
create mode 100644 src/main/java/com/rapidminer/gui/actions/search/ActionsGlobalSearch.java
create mode 100644 src/main/java/com/rapidminer/gui/actions/search/ActionsGlobalSearchGUIProvider.java
create mode 100644 src/main/java/com/rapidminer/gui/actions/search/ActionsGlobalSearchManager.java
create mode 100644 src/main/java/com/rapidminer/gui/actions/search/DockableAction.java
create mode 100644 src/main/java/com/rapidminer/gui/dnd/TransferableRepositoryEntry.java
create mode 100644 src/main/java/com/rapidminer/gui/processeditor/search/OperatorGlobalSearch.java
create mode 100644 src/main/java/com/rapidminer/gui/processeditor/search/OperatorGlobalSearchGUIProvider.java
create mode 100644 src/main/java/com/rapidminer/gui/processeditor/search/OperatorGlobalSearchManager.java
create mode 100644 src/main/java/com/rapidminer/gui/search/GlobalSearchCategoryPanel.java
create mode 100644 src/main/java/com/rapidminer/gui/search/GlobalSearchController.java
create mode 100644 src/main/java/com/rapidminer/gui/search/GlobalSearchDialog.java
create mode 100644 src/main/java/com/rapidminer/gui/search/GlobalSearchGUIRegistry.java
create mode 100644 src/main/java/com/rapidminer/gui/search/GlobalSearchGUIUtilities.java
create mode 100644 src/main/java/com/rapidminer/gui/search/GlobalSearchPanel.java
create mode 100644 src/main/java/com/rapidminer/gui/search/GlobalSearchableGUIProvider.java
create mode 100644 src/main/java/com/rapidminer/gui/search/action/GlobalSearchAction.java
create mode 100644 src/main/java/com/rapidminer/gui/search/event/GlobalSearchCategoryEvent.java
create mode 100644 src/main/java/com/rapidminer/gui/search/event/GlobalSearchEventListener.java
create mode 100644 src/main/java/com/rapidminer/gui/search/event/GlobalSearchInteractionEvent.java
create mode 100644 src/main/java/com/rapidminer/gui/search/event/GlobalSearchInteractionListener.java
create mode 100644 src/main/java/com/rapidminer/gui/search/event/GlobalSearchModelEvent.java
create mode 100644 src/main/java/com/rapidminer/gui/search/model/GlobalSearchModel.java
create mode 100644 src/main/java/com/rapidminer/gui/search/model/GlobalSearchRow.java
create mode 100644 src/main/java/com/rapidminer/gui/tools/components/ExtendedCardLayout.java
create mode 100644 src/main/java/com/rapidminer/io/process/AutoModelProcessXMLFilter.java
create mode 100644 src/main/java/com/rapidminer/operator/nio/model/ExcelSheetSelection.java
create mode 100644 src/main/java/com/rapidminer/repository/ConnectionListener.java
create mode 100644 src/main/java/com/rapidminer/repository/ConnectionRepository.java
create mode 100644 src/main/java/com/rapidminer/repository/RepositoryManagerListener.java
create mode 100644 src/main/java/com/rapidminer/repository/gui/actions/NewRepositoryAction.java
create mode 100644 src/main/java/com/rapidminer/repository/gui/search/RepositoryGlobalSearchGUIProvider.java
create mode 100644 src/main/java/com/rapidminer/repository/search/RepositoryGlobalSearch.java
create mode 100644 src/main/java/com/rapidminer/repository/search/RepositoryGlobalSearchItem.java
create mode 100644 src/main/java/com/rapidminer/repository/search/RepositoryGlobalSearchManager.java
create mode 100644 src/main/java/com/rapidminer/search/AbstractGlobalSearchManager.java
create mode 100644 src/main/java/com/rapidminer/search/GlobalSearchCategory.java
create mode 100644 src/main/java/com/rapidminer/search/GlobalSearchDefaultField.java
create mode 100644 src/main/java/com/rapidminer/search/GlobalSearchHandler.java
create mode 100644 src/main/java/com/rapidminer/search/GlobalSearchIndexer.java
create mode 100644 src/main/java/com/rapidminer/search/GlobalSearchManager.java
create mode 100644 src/main/java/com/rapidminer/search/GlobalSearchRegistry.java
create mode 100644 src/main/java/com/rapidminer/search/GlobalSearchResult.java
create mode 100644 src/main/java/com/rapidminer/search/GlobalSearchResultBuilder.java
create mode 100644 src/main/java/com/rapidminer/search/GlobalSearchUtilities.java
create mode 100644 src/main/java/com/rapidminer/search/GlobalSearchable.java
create mode 100644 src/main/java/com/rapidminer/search/event/GlobalSearchManagerEventHandler.java
create mode 100644 src/main/java/com/rapidminer/search/event/GlobalSearchManagerListener.java
create mode 100644 src/main/java/com/rapidminer/search/event/GlobalSearchRegistryEvent.java
create mode 100644 src/main/java/com/rapidminer/search/event/GlobalSearchRegistryEventListener.java
create mode 100644 src/main/java/com/rapidminer/tools/XMLParserException.java
create mode 100644 src/main/java/com/rapidminer/tools/config/jwt/JwtClaim.java
create mode 100644 src/main/java/com/rapidminer/tools/config/jwt/JwtReader.java
create mode 100644 src/test/java/com/rapidminer/gui/security/WalletTest.java
create mode 100644 src/test/java/com/rapidminer/io/process/XMLToolsTest.java
create mode 100644 src/test/java/com/rapidminer/search/AbstractGlobalSearchManagerTest.java
create mode 100644 src/test/java/com/rapidminer/search/GlobalSearchCategoryTest.java
create mode 100644 src/test/java/com/rapidminer/search/GlobalSearchHandlerTest.java
create mode 100644 src/test/java/com/rapidminer/search/GlobalSearchRegistryTest.java
create mode 100644 src/test/java/com/rapidminer/search/GlobalSearchResultBuilderTest.java
create mode 100644 src/test/java/com/rapidminer/search/ParallelUsageTest.java
create mode 100644 src/test/java/com/rapidminer/search/util/GlobalSearchableTextTest.java
create mode 100644 src/test/resources/com/rapidminer/gui/security/secrets.xml
create mode 100644 src/test/resources/com/rapidminer/io/process/XXE_corrupted.xml
create mode 100644 src/test/resources/com/rapidminer/io/process/some_process.xml
create mode 100644 src/test/resources/com/rapidminer/search/br.txt
diff --git a/build.gradle b/build.gradle
index 7a1405945..268aa8f03 100644
--- a/build.gradle
+++ b/build.gradle
@@ -63,8 +63,8 @@ dependencies {
compile('net.sourceforge.jexcelapi:jxl:2.6.12') { exclude group: 'log4j', module: 'log4j' }
// Apache POI for manipulating various file formats based upon Office Open XML standards (http://poi.apache.org/)
- compile 'org.apache.poi:poi-ooxml:3.13'
- compile 'org.apache.poi:poi-scratchpad:3.13'
+ compile 'org.apache.poi:poi-ooxml:3.17'
+ compile 'org.apache.poi:poi-scratchpad:3.17'
// JGoodies Looks for TODO (http://www.jgoodies.com/freeware/libraries/looks/)
compile 'com.jgoodies:looks:2.2.2'
@@ -86,7 +86,7 @@ dependencies {
compile 'org.swinglabs.swingx:swingx-all:1.6.5'
// XStreams for generic XML serialization (http://xstream.codehaus.org/)
- compile 'com.thoughtworks.xstream:xstream:1.4.7'
+ compile 'com.thoughtworks.xstream:xstream:1.4.10'
// XMLRPC for XMLRPC connections to Bugzilla (http://ws.apache.org/xmlrpc/)
compile('org.apache.xmlrpc:xmlrpc-client:3.1.3') { exclude group: 'junit', module: 'junit' }
@@ -94,6 +94,9 @@ dependencies {
// HttpClient used by the Bugzilla XML RPC client (http://hc.apache.org/httpcomponents-client)
compile 'commons-httpclient:commons-httpclient:3.1'
+ // FileUtils useful for various things
+ compile 'commons-io:commons-io:2.6'
+
// JAMA for matrix calculations (http://math.nist.gov/javanumerics/jama/)
compile 'gov.nist.math:jama:1.0.3'
@@ -129,7 +132,7 @@ dependencies {
compile 'com.github.tdbear:microba:0.4.4.3'
// Apache Tika for file MIME type detection (https://tika.apache.org/)
- compile 'org.apache.tika:tika-core:1.11'
+ compile 'org.apache.tika:tika-core:1.17'
// The xalan version used by the JRE for XML handling contains a bug which results in XSLT not working with an enabled SecurityManager
// Using this version manually to override the JRE fixes the problem. Otherwise all our operator documentation would not work at all
@@ -142,6 +145,16 @@ dependencies {
// up until 7.4.1 this was a transitive dependency coming from license-commons (jackson version 2.4.0)
compile 'com.fasterxml.jackson.core:jackson-core:2.6.6'
compile 'com.fasterxml.jackson.core:jackson-databind:2.6.6'
+
+ // Advanced Search functionality via Lucene
+ compile 'org.apache.lucene:lucene-queryparser:7.2.0'
+ // Highlight Lucene search result matches
+ compile 'org.apache.lucene:lucene-highlighter:7.2.0'
+ compile 'org.jsoup:jsoup:1.8.3'
+
+ // tests require mockito
+ testCompile 'org.mockito:mockito-core:2.13.0'
+
}
task wrapper(type: Wrapper) { gradleVersion = '4.0.1' }
diff --git a/gradle.properties b/gradle.properties
index 622cb2253..8fb880578 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,2 +1,2 @@
-version=8.0.0
+version=8.1.0
group=com.rapidminer.studio
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/AccessRights.java b/src/generated/java/com/rapid_i/repository/wsimport/AccessRights.java
index c5ca31adf..d25f697ec 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/AccessRights.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/AccessRights.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/CancelTrigger.java b/src/generated/java/com/rapid_i/repository/wsimport/CancelTrigger.java
index d5ab710e3..d142a1fcb 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/CancelTrigger.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/CancelTrigger.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/CancelTriggerResponse.java b/src/generated/java/com/rapid_i/repository/wsimport/CancelTriggerResponse.java
index f76fbcef1..57e91632a 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/CancelTriggerResponse.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/CancelTriggerResponse.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/CreateBlob.java b/src/generated/java/com/rapid_i/repository/wsimport/CreateBlob.java
index e32cad62f..e1b6ffdd5 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/CreateBlob.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/CreateBlob.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/CreateBlobResponse.java b/src/generated/java/com/rapid_i/repository/wsimport/CreateBlobResponse.java
index 25efac0a7..acbd2f111 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/CreateBlobResponse.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/CreateBlobResponse.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/DeleteEntry.java b/src/generated/java/com/rapid_i/repository/wsimport/DeleteEntry.java
index 41a51ee22..a6f30289d 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/DeleteEntry.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/DeleteEntry.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/DeleteEntryResponse.java b/src/generated/java/com/rapid_i/repository/wsimport/DeleteEntryResponse.java
index 9e66228c4..a84370bf0 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/DeleteEntryResponse.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/DeleteEntryResponse.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/EntryResponse.java b/src/generated/java/com/rapid_i/repository/wsimport/EntryResponse.java
index 24686bfb3..111213f4d 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/EntryResponse.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/EntryResponse.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/ExecuteProcessCron.java b/src/generated/java/com/rapid_i/repository/wsimport/ExecuteProcessCron.java
index 51445ea70..19438d4d3 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/ExecuteProcessCron.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/ExecuteProcessCron.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/ExecuteProcessCron13.java b/src/generated/java/com/rapid_i/repository/wsimport/ExecuteProcessCron13.java
index 8e084f256..cac947d8b 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/ExecuteProcessCron13.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/ExecuteProcessCron13.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/ExecuteProcessCron13Response.java b/src/generated/java/com/rapid_i/repository/wsimport/ExecuteProcessCron13Response.java
index 026359ed4..ce693478b 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/ExecuteProcessCron13Response.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/ExecuteProcessCron13Response.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/ExecuteProcessCronResponse.java b/src/generated/java/com/rapid_i/repository/wsimport/ExecuteProcessCronResponse.java
index 102df8328..3840ee84f 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/ExecuteProcessCronResponse.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/ExecuteProcessCronResponse.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/ExecuteProcessSimple.java b/src/generated/java/com/rapid_i/repository/wsimport/ExecuteProcessSimple.java
index 9158f9c6e..235e970c8 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/ExecuteProcessSimple.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/ExecuteProcessSimple.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/ExecuteProcessSimple13.java b/src/generated/java/com/rapid_i/repository/wsimport/ExecuteProcessSimple13.java
index 1e3651dba..2352c5992 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/ExecuteProcessSimple13.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/ExecuteProcessSimple13.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/ExecuteProcessSimple13Response.java b/src/generated/java/com/rapid_i/repository/wsimport/ExecuteProcessSimple13Response.java
index 1e0a02764..582bcd1de 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/ExecuteProcessSimple13Response.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/ExecuteProcessSimple13Response.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/ExecuteProcessSimpleResponse.java b/src/generated/java/com/rapid_i/repository/wsimport/ExecuteProcessSimpleResponse.java
index cbf99eff5..2237092b6 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/ExecuteProcessSimpleResponse.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/ExecuteProcessSimpleResponse.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/ExecuteProcessWithOffset.java b/src/generated/java/com/rapid_i/repository/wsimport/ExecuteProcessWithOffset.java
index f8c5b012f..0f60ac894 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/ExecuteProcessWithOffset.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/ExecuteProcessWithOffset.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/ExecuteProcessWithOffsetResponse.java b/src/generated/java/com/rapid_i/repository/wsimport/ExecuteProcessWithOffsetResponse.java
index 42e92e053..8cd007f62 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/ExecuteProcessWithOffsetResponse.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/ExecuteProcessWithOffsetResponse.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/ExecutionResponse.java b/src/generated/java/com/rapid_i/repository/wsimport/ExecutionResponse.java
index 6db90c8aa..cc8daf0fe 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/ExecutionResponse.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/ExecutionResponse.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/FolderContentsResponse.java b/src/generated/java/com/rapid_i/repository/wsimport/FolderContentsResponse.java
index 5c1aff1a9..1427979ce 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/FolderContentsResponse.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/FolderContentsResponse.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/GetAccessRights.java b/src/generated/java/com/rapid_i/repository/wsimport/GetAccessRights.java
index 2bc452c3a..13cd22a74 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/GetAccessRights.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/GetAccessRights.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/GetAccessRightsResponse.java b/src/generated/java/com/rapid_i/repository/wsimport/GetAccessRightsResponse.java
index 2aaafef7e..67ce04ddd 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/GetAccessRightsResponse.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/GetAccessRightsResponse.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/GetAllGroupNames.java b/src/generated/java/com/rapid_i/repository/wsimport/GetAllGroupNames.java
index b386847e2..95b41ccd4 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/GetAllGroupNames.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/GetAllGroupNames.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/GetAllGroupNamesResponse.java b/src/generated/java/com/rapid_i/repository/wsimport/GetAllGroupNamesResponse.java
index da813b461..69c3cddb4 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/GetAllGroupNamesResponse.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/GetAllGroupNamesResponse.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/GetEntry.java b/src/generated/java/com/rapid_i/repository/wsimport/GetEntry.java
index 95805710c..6e6ca7f83 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/GetEntry.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/GetEntry.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/GetEntryResponse.java b/src/generated/java/com/rapid_i/repository/wsimport/GetEntryResponse.java
index cd9fa0c17..8ed8db099 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/GetEntryResponse.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/GetEntryResponse.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/GetFolderContents.java b/src/generated/java/com/rapid_i/repository/wsimport/GetFolderContents.java
index e39bea7ff..eeea7f967 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/GetFolderContents.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/GetFolderContents.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/GetFolderContentsResponse.java b/src/generated/java/com/rapid_i/repository/wsimport/GetFolderContentsResponse.java
index 68478087e..188331693 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/GetFolderContentsResponse.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/GetFolderContentsResponse.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/GetFreeMemory.java b/src/generated/java/com/rapid_i/repository/wsimport/GetFreeMemory.java
index 779899a35..46a0ba79c 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/GetFreeMemory.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/GetFreeMemory.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/GetFreeMemoryResponse.java b/src/generated/java/com/rapid_i/repository/wsimport/GetFreeMemoryResponse.java
index 949353521..0ee4ff102 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/GetFreeMemoryResponse.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/GetFreeMemoryResponse.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/GetInstalledPlugins.java b/src/generated/java/com/rapid_i/repository/wsimport/GetInstalledPlugins.java
index 35900d1a8..d282b4455 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/GetInstalledPlugins.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/GetInstalledPlugins.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/GetInstalledPluginsResponse.java b/src/generated/java/com/rapid_i/repository/wsimport/GetInstalledPluginsResponse.java
index d62d70fd5..acecaa605 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/GetInstalledPluginsResponse.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/GetInstalledPluginsResponse.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/GetMaxMemory.java b/src/generated/java/com/rapid_i/repository/wsimport/GetMaxMemory.java
index 76a2d5dc9..3d206440f 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/GetMaxMemory.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/GetMaxMemory.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/GetMaxMemoryResponse.java b/src/generated/java/com/rapid_i/repository/wsimport/GetMaxMemoryResponse.java
index f259606dc..3ccb8b8e5 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/GetMaxMemoryResponse.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/GetMaxMemoryResponse.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/GetProcessContents.java b/src/generated/java/com/rapid_i/repository/wsimport/GetProcessContents.java
index 2433bf560..07de1f22d 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/GetProcessContents.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/GetProcessContents.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/GetProcessContentsResponse.java b/src/generated/java/com/rapid_i/repository/wsimport/GetProcessContentsResponse.java
index 51bc69912..8a729db1e 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/GetProcessContentsResponse.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/GetProcessContentsResponse.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/GetProcessIdsForJobId.java b/src/generated/java/com/rapid_i/repository/wsimport/GetProcessIdsForJobId.java
index c37c346a1..a87d190b9 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/GetProcessIdsForJobId.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/GetProcessIdsForJobId.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/GetProcessIdsForJobIdResponse.java b/src/generated/java/com/rapid_i/repository/wsimport/GetProcessIdsForJobIdResponse.java
index 3e4fe1814..698f3c862 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/GetProcessIdsForJobIdResponse.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/GetProcessIdsForJobIdResponse.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/GetQueueInfo.java b/src/generated/java/com/rapid_i/repository/wsimport/GetQueueInfo.java
index c370eebfa..043f318af 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/GetQueueInfo.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/GetQueueInfo.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/GetQueueInfoResponse.java b/src/generated/java/com/rapid_i/repository/wsimport/GetQueueInfoResponse.java
index 92c33a62b..6bf10f0c1 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/GetQueueInfoResponse.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/GetQueueInfoResponse.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/GetQueueNames.java b/src/generated/java/com/rapid_i/repository/wsimport/GetQueueNames.java
index ad9a588a3..e8212c8ba 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/GetQueueNames.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/GetQueueNames.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/GetQueueNamesResponse.java b/src/generated/java/com/rapid_i/repository/wsimport/GetQueueNamesResponse.java
index da2f215ff..e6f29c62c 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/GetQueueNamesResponse.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/GetQueueNamesResponse.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/GetQueueState.java b/src/generated/java/com/rapid_i/repository/wsimport/GetQueueState.java
index b08421d22..60b8bb919 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/GetQueueState.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/GetQueueState.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/GetQueueStateResponse.java b/src/generated/java/com/rapid_i/repository/wsimport/GetQueueStateResponse.java
index cb5ca54dd..1dad7e552 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/GetQueueStateResponse.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/GetQueueStateResponse.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/GetRunningProcesses.java b/src/generated/java/com/rapid_i/repository/wsimport/GetRunningProcesses.java
index 14226362e..ea1d7074e 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/GetRunningProcesses.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/GetRunningProcesses.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/GetRunningProcessesInfo.java b/src/generated/java/com/rapid_i/repository/wsimport/GetRunningProcessesInfo.java
index 8884ab181..34e7bdfa5 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/GetRunningProcessesInfo.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/GetRunningProcessesInfo.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/GetRunningProcessesInfoResponse.java b/src/generated/java/com/rapid_i/repository/wsimport/GetRunningProcessesInfoResponse.java
index e370421d4..4c6518521 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/GetRunningProcessesInfoResponse.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/GetRunningProcessesInfoResponse.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/GetRunningProcessesResponse.java b/src/generated/java/com/rapid_i/repository/wsimport/GetRunningProcessesResponse.java
index c54ba5e35..4ef9721ff 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/GetRunningProcessesResponse.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/GetRunningProcessesResponse.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/GetSystemLoadAverage.java b/src/generated/java/com/rapid_i/repository/wsimport/GetSystemLoadAverage.java
index f931f9516..3255081ea 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/GetSystemLoadAverage.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/GetSystemLoadAverage.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/GetSystemLoadAverageResponse.java b/src/generated/java/com/rapid_i/repository/wsimport/GetSystemLoadAverageResponse.java
index dfb7a1ebb..581bd8f23 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/GetSystemLoadAverageResponse.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/GetSystemLoadAverageResponse.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/GetTotalMemory.java b/src/generated/java/com/rapid_i/repository/wsimport/GetTotalMemory.java
index 24611e405..6484e0954 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/GetTotalMemory.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/GetTotalMemory.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/GetTotalMemoryResponse.java b/src/generated/java/com/rapid_i/repository/wsimport/GetTotalMemoryResponse.java
index d2b4ee51e..c3bbdf503 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/GetTotalMemoryResponse.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/GetTotalMemoryResponse.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/GetUpSince.java b/src/generated/java/com/rapid_i/repository/wsimport/GetUpSince.java
index b4665c5d2..f10cf3510 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/GetUpSince.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/GetUpSince.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/GetUpSinceResponse.java b/src/generated/java/com/rapid_i/repository/wsimport/GetUpSinceResponse.java
index e5750909c..0e1385a77 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/GetUpSinceResponse.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/GetUpSinceResponse.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/GetVersionNumber.java b/src/generated/java/com/rapid_i/repository/wsimport/GetVersionNumber.java
index 6ff91cf0f..a68a3cafd 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/GetVersionNumber.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/GetVersionNumber.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/GetVersionNumberResponse.java b/src/generated/java/com/rapid_i/repository/wsimport/GetVersionNumberResponse.java
index ac0e3018e..31e307ee2 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/GetVersionNumberResponse.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/GetVersionNumberResponse.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/MacroDefinition.java b/src/generated/java/com/rapid_i/repository/wsimport/MacroDefinition.java
index 1526540b1..e3308245f 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/MacroDefinition.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/MacroDefinition.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/MakeFolder.java b/src/generated/java/com/rapid_i/repository/wsimport/MakeFolder.java
index afa7e5420..c9e848f40 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/MakeFolder.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/MakeFolder.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/MakeFolderResponse.java b/src/generated/java/com/rapid_i/repository/wsimport/MakeFolderResponse.java
index 2957c5205..d4f237c3c 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/MakeFolderResponse.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/MakeFolderResponse.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/Move.java b/src/generated/java/com/rapid_i/repository/wsimport/Move.java
index 1bb91f252..2e7741762 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/Move.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/Move.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/MoveResponse.java b/src/generated/java/com/rapid_i/repository/wsimport/MoveResponse.java
index d62ffc736..029a294a7 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/MoveResponse.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/MoveResponse.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/ObjectFactory.java b/src/generated/java/com/rapid_i/repository/wsimport/ObjectFactory.java
index cc82dba9d..801014969 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/ObjectFactory.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/ObjectFactory.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/PluginInfo.java b/src/generated/java/com/rapid_i/repository/wsimport/PluginInfo.java
index 255d24a0c..d2ae51fb0 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/PluginInfo.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/PluginInfo.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/ProcessContentsResponse.java b/src/generated/java/com/rapid_i/repository/wsimport/ProcessContentsResponse.java
index 0bb96190c..3ccfc4db9 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/ProcessContentsResponse.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/ProcessContentsResponse.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/ProcessContextWrapper.java b/src/generated/java/com/rapid_i/repository/wsimport/ProcessContextWrapper.java
index eca47545f..15f5a0002 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/ProcessContextWrapper.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/ProcessContextWrapper.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/ProcessResponse.java b/src/generated/java/com/rapid_i/repository/wsimport/ProcessResponse.java
index ec0b0955d..950dddc2f 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/ProcessResponse.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/ProcessResponse.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/ProcessService.java b/src/generated/java/com/rapid_i/repository/wsimport/ProcessService.java
index 74eea85e9..2d192641c 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/ProcessService.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/ProcessService.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/ProcessService13.java b/src/generated/java/com/rapid_i/repository/wsimport/ProcessService13.java
index 938e07873..b3cdb7871 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/ProcessService13.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/ProcessService13.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/ProcessService13_Service.java b/src/generated/java/com/rapid_i/repository/wsimport/ProcessService13_Service.java
index 4b3110e53..f5fc5ec0e 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/ProcessService13_Service.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/ProcessService13_Service.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/ProcessService_Service.java b/src/generated/java/com/rapid_i/repository/wsimport/ProcessService_Service.java
index 11a359d1e..766f6a657 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/ProcessService_Service.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/ProcessService_Service.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/ProcessStackTrace.java b/src/generated/java/com/rapid_i/repository/wsimport/ProcessStackTrace.java
index d79885471..9ac2456d5 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/ProcessStackTrace.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/ProcessStackTrace.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/ProcessStackTraceElement.java b/src/generated/java/com/rapid_i/repository/wsimport/ProcessStackTraceElement.java
index 9df89ce3d..4ddac800f 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/ProcessStackTraceElement.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/ProcessStackTraceElement.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/QueueProperty.java b/src/generated/java/com/rapid_i/repository/wsimport/QueueProperty.java
index 753d80910..93e24777b 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/QueueProperty.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/QueueProperty.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/QueueState.java b/src/generated/java/com/rapid_i/repository/wsimport/QueueState.java
index 0811e6863..0f5214f4b 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/QueueState.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/QueueState.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/RAInfoService.java b/src/generated/java/com/rapid_i/repository/wsimport/RAInfoService.java
index 8d309684a..6f5d3a47e 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/RAInfoService.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/RAInfoService.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/RAInfoService_Service.java b/src/generated/java/com/rapid_i/repository/wsimport/RAInfoService_Service.java
index 6f1307e38..0e74128a5 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/RAInfoService_Service.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/RAInfoService_Service.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/Rename.java b/src/generated/java/com/rapid_i/repository/wsimport/Rename.java
index 203857d56..2995d413a 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/Rename.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/Rename.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/RenameResponse.java b/src/generated/java/com/rapid_i/repository/wsimport/RenameResponse.java
index 9872c5f27..d98ba62db 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/RenameResponse.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/RenameResponse.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/RepositoryService.java b/src/generated/java/com/rapid_i/repository/wsimport/RepositoryService.java
index 9a00f4647..1ddc36a2a 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/RepositoryService.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/RepositoryService.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/RepositoryService_Service.java b/src/generated/java/com/rapid_i/repository/wsimport/RepositoryService_Service.java
index 3920b0b42..de9739b60 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/RepositoryService_Service.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/RepositoryService_Service.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/Response.java b/src/generated/java/com/rapid_i/repository/wsimport/Response.java
index fb00528cc..23b97214a 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/Response.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/Response.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/SetAccessRights.java b/src/generated/java/com/rapid_i/repository/wsimport/SetAccessRights.java
index 19935a062..517782b02 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/SetAccessRights.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/SetAccessRights.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/SetAccessRightsResponse.java b/src/generated/java/com/rapid_i/repository/wsimport/SetAccessRightsResponse.java
index c97815611..e1865d51d 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/SetAccessRightsResponse.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/SetAccessRightsResponse.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/StartNewRevision.java b/src/generated/java/com/rapid_i/repository/wsimport/StartNewRevision.java
index 818fa07c3..53bcbf1e4 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/StartNewRevision.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/StartNewRevision.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/StartNewRevisionResponse.java b/src/generated/java/com/rapid_i/repository/wsimport/StartNewRevisionResponse.java
index 26658d7a5..020c092d7 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/StartNewRevisionResponse.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/StartNewRevisionResponse.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/StopProcess.java b/src/generated/java/com/rapid_i/repository/wsimport/StopProcess.java
index d7188eb41..dacd62ca0 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/StopProcess.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/StopProcess.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/StopProcessResponse.java b/src/generated/java/com/rapid_i/repository/wsimport/StopProcessResponse.java
index fbedda15e..3e9bc4f0c 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/StopProcessResponse.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/StopProcessResponse.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/StoreProcess.java b/src/generated/java/com/rapid_i/repository/wsimport/StoreProcess.java
index 3d3fb0f04..da6a1825c 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/StoreProcess.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/StoreProcess.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/StoreProcessResponse.java b/src/generated/java/com/rapid_i/repository/wsimport/StoreProcessResponse.java
index 18429bd6f..1ee9a0775 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/StoreProcessResponse.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/StoreProcessResponse.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/mgt/CheckSetup.java b/src/generated/java/com/rapid_i/repository/wsimport/mgt/CheckSetup.java
index 33fa396c0..2489b9c06 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/mgt/CheckSetup.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/mgt/CheckSetup.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/mgt/CheckSetupResponse.java b/src/generated/java/com/rapid_i/repository/wsimport/mgt/CheckSetupResponse.java
index 937545662..151e294a3 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/mgt/CheckSetupResponse.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/mgt/CheckSetupResponse.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/mgt/CreateDBConnection.java b/src/generated/java/com/rapid_i/repository/wsimport/mgt/CreateDBConnection.java
index 512417d11..675f5c20f 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/mgt/CreateDBConnection.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/mgt/CreateDBConnection.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/mgt/CreateDBConnectionResponse.java b/src/generated/java/com/rapid_i/repository/wsimport/mgt/CreateDBConnectionResponse.java
index 928f1c5f6..1fc834f11 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/mgt/CreateDBConnectionResponse.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/mgt/CreateDBConnectionResponse.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/mgt/GetGlobalProperty.java b/src/generated/java/com/rapid_i/repository/wsimport/mgt/GetGlobalProperty.java
index b1669b98a..cf109fc02 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/mgt/GetGlobalProperty.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/mgt/GetGlobalProperty.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/mgt/GetGlobalPropertyResponse.java b/src/generated/java/com/rapid_i/repository/wsimport/mgt/GetGlobalPropertyResponse.java
index c052ae02f..841a9b953 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/mgt/GetGlobalPropertyResponse.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/mgt/GetGlobalPropertyResponse.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/mgt/ManagementService.java b/src/generated/java/com/rapid_i/repository/wsimport/mgt/ManagementService.java
index 0b41c2799..dc07d87e4 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/mgt/ManagementService.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/mgt/ManagementService.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/mgt/ManagementServiceService.java b/src/generated/java/com/rapid_i/repository/wsimport/mgt/ManagementServiceService.java
index 58a3ac62e..7de20492b 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/mgt/ManagementServiceService.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/mgt/ManagementServiceService.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/mgt/ObjectFactory.java b/src/generated/java/com/rapid_i/repository/wsimport/mgt/ObjectFactory.java
index 70e2c208a..b997db996 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/mgt/ObjectFactory.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/mgt/ObjectFactory.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/mgt/Response.java b/src/generated/java/com/rapid_i/repository/wsimport/mgt/Response.java
index 80d1a2e24..40590aca7 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/mgt/Response.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/mgt/Response.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/mgt/SetGlobalProperty.java b/src/generated/java/com/rapid_i/repository/wsimport/mgt/SetGlobalProperty.java
index 29bfc0d7a..c59915516 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/mgt/SetGlobalProperty.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/mgt/SetGlobalProperty.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/mgt/SetGlobalPropertyResponse.java b/src/generated/java/com/rapid_i/repository/wsimport/mgt/SetGlobalPropertyResponse.java
index 0662ba9b7..bd1f3653b 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/mgt/SetGlobalPropertyResponse.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/mgt/SetGlobalPropertyResponse.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/mgt/package-info.java b/src/generated/java/com/rapid_i/repository/wsimport/mgt/package-info.java
index 072617a66..7ddbd17b2 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/mgt/package-info.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/mgt/package-info.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapid_i/repository/wsimport/package-info.java b/src/generated/java/com/rapid_i/repository/wsimport/package-info.java
index 3032c0ec9..132278faf 100644
--- a/src/generated/java/com/rapid_i/repository/wsimport/package-info.java
+++ b/src/generated/java/com/rapid_i/repository/wsimport/package-info.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapidminer/tools/expression/internal/antlr/FunctionExpressionLexer.java b/src/generated/java/com/rapidminer/tools/expression/internal/antlr/FunctionExpressionLexer.java
index 97bedf984..722cdeb49 100644
--- a/src/generated/java/com/rapidminer/tools/expression/internal/antlr/FunctionExpressionLexer.java
+++ b/src/generated/java/com/rapidminer/tools/expression/internal/antlr/FunctionExpressionLexer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapidminer/tools/expression/internal/antlr/FunctionExpressionParser.java b/src/generated/java/com/rapidminer/tools/expression/internal/antlr/FunctionExpressionParser.java
index 2d6d5e0c3..148bf3ce1 100644
--- a/src/generated/java/com/rapidminer/tools/expression/internal/antlr/FunctionExpressionParser.java
+++ b/src/generated/java/com/rapidminer/tools/expression/internal/antlr/FunctionExpressionParser.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapidminer/tools/expression/internal/antlr/FunctionExpressionParserBaseListener.java b/src/generated/java/com/rapidminer/tools/expression/internal/antlr/FunctionExpressionParserBaseListener.java
index b6c28f79b..de773ce96 100644
--- a/src/generated/java/com/rapidminer/tools/expression/internal/antlr/FunctionExpressionParserBaseListener.java
+++ b/src/generated/java/com/rapidminer/tools/expression/internal/antlr/FunctionExpressionParserBaseListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapidminer/tools/expression/internal/antlr/FunctionExpressionParserBaseVisitor.java b/src/generated/java/com/rapidminer/tools/expression/internal/antlr/FunctionExpressionParserBaseVisitor.java
index eb21d88ea..8fcc8b429 100644
--- a/src/generated/java/com/rapidminer/tools/expression/internal/antlr/FunctionExpressionParserBaseVisitor.java
+++ b/src/generated/java/com/rapidminer/tools/expression/internal/antlr/FunctionExpressionParserBaseVisitor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapidminer/tools/expression/internal/antlr/FunctionExpressionParserListener.java b/src/generated/java/com/rapidminer/tools/expression/internal/antlr/FunctionExpressionParserListener.java
index e1308b997..5f209599c 100644
--- a/src/generated/java/com/rapidminer/tools/expression/internal/antlr/FunctionExpressionParserListener.java
+++ b/src/generated/java/com/rapidminer/tools/expression/internal/antlr/FunctionExpressionParserListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/generated/java/com/rapidminer/tools/expression/internal/antlr/FunctionExpressionParserVisitor.java b/src/generated/java/com/rapidminer/tools/expression/internal/antlr/FunctionExpressionParserVisitor.java
index 15247f9a6..552d7be3f 100644
--- a/src/generated/java/com/rapidminer/tools/expression/internal/antlr/FunctionExpressionParserVisitor.java
+++ b/src/generated/java/com/rapidminer/tools/expression/internal/antlr/FunctionExpressionParserVisitor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/BreakpointListener.java b/src/main/java/com/rapidminer/BreakpointListener.java
index ec5982e3c..3bf1fe0d6 100644
--- a/src/main/java/com/rapidminer/BreakpointListener.java
+++ b/src/main/java/com/rapidminer/BreakpointListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/ConsoleInputHandler.java b/src/main/java/com/rapidminer/ConsoleInputHandler.java
index ac0b547ab..c8c55a426 100644
--- a/src/main/java/com/rapidminer/ConsoleInputHandler.java
+++ b/src/main/java/com/rapidminer/ConsoleInputHandler.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/Experiment.java b/src/main/java/com/rapidminer/Experiment.java
index 95050b62b..2429a0a71 100644
--- a/src/main/java/com/rapidminer/Experiment.java
+++ b/src/main/java/com/rapidminer/Experiment.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/FileProcessLocation.java b/src/main/java/com/rapidminer/FileProcessLocation.java
index 1852914af..7539fa363 100644
--- a/src/main/java/com/rapidminer/FileProcessLocation.java
+++ b/src/main/java/com/rapidminer/FileProcessLocation.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/InputHandler.java b/src/main/java/com/rapidminer/InputHandler.java
index b7a35e7d2..95cd53ada 100644
--- a/src/main/java/com/rapidminer/InputHandler.java
+++ b/src/main/java/com/rapidminer/InputHandler.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/LoggingListener.java b/src/main/java/com/rapidminer/LoggingListener.java
index 2179c23d1..7c170b3d3 100644
--- a/src/main/java/com/rapidminer/LoggingListener.java
+++ b/src/main/java/com/rapidminer/LoggingListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/MacroHandler.java b/src/main/java/com/rapidminer/MacroHandler.java
index c1e4fb9b3..3e10c8bd3 100644
--- a/src/main/java/com/rapidminer/MacroHandler.java
+++ b/src/main/java/com/rapidminer/MacroHandler.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/NoBugError.java b/src/main/java/com/rapidminer/NoBugError.java
index 7fd389a5e..16bcd92fd 100644
--- a/src/main/java/com/rapidminer/NoBugError.java
+++ b/src/main/java/com/rapidminer/NoBugError.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/NoOpUserError.java b/src/main/java/com/rapidminer/NoOpUserError.java
index fcaae2256..f77535db8 100644
--- a/src/main/java/com/rapidminer/NoOpUserError.java
+++ b/src/main/java/com/rapidminer/NoOpUserError.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/ObjectVisualizer.java b/src/main/java/com/rapidminer/ObjectVisualizer.java
index 3ec627c17..f18449ad0 100644
--- a/src/main/java/com/rapidminer/ObjectVisualizer.java
+++ b/src/main/java/com/rapidminer/ObjectVisualizer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/OperatorLibraryService.java b/src/main/java/com/rapidminer/OperatorLibraryService.java
index 8309c4dcd..4dc7411a2 100644
--- a/src/main/java/com/rapidminer/OperatorLibraryService.java
+++ b/src/main/java/com/rapidminer/OperatorLibraryService.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/Process.java b/src/main/java/com/rapidminer/Process.java
index 6625c1b45..5e1d62c39 100644
--- a/src/main/java/com/rapidminer/Process.java
+++ b/src/main/java/com/rapidminer/Process.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -42,9 +42,7 @@
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.logging.SimpleFormatter;
-
import javax.swing.event.EventListenerList;
-import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.xml.sax.InputSource;
@@ -58,6 +56,7 @@
import com.rapidminer.gui.tools.ProgressThread;
import com.rapidminer.gui.tools.ProgressThreadStoppedException;
import com.rapidminer.io.process.XMLImporter;
+import com.rapidminer.io.process.XMLTools;
import com.rapidminer.license.violation.LicenseViolation;
import com.rapidminer.operator.Annotations;
import com.rapidminer.operator.DebugMode;
@@ -105,6 +104,7 @@
import com.rapidminer.tools.WebServiceTools;
import com.rapidminer.tools.WrapperLoggingHandler;
import com.rapidminer.tools.XMLException;
+import com.rapidminer.tools.XMLParserException;
import com.rapidminer.tools.container.Pair;
import com.rapidminer.tools.usagestats.ActionStatisticsCollector;
@@ -1192,7 +1192,7 @@ public final IOContainer run(final IOContainer input, final int logVerbosity, fi
*/
public final IOContainer run(final IOContainer input, int logVerbosity, final Map macroMap,
final boolean storeOutput) throws OperatorException {
- ActionStatisticsCollector.getInstance().logExecutionStarted();
+ ActionStatisticsCollector.getInstance().logExecutionStarted(this);
try {
// make sure the process flow filter is registered
ProcessFlowFilter filter = ProcessFlowFilterRegistry.INSTANCE.getProcessFlowFilter();
@@ -1322,7 +1322,7 @@ private IOContainer execute(IOContainer input, boolean storeOutput, Handler logH
getLogger().log(Level.INFO, () -> "Process finished successfully after " + Tools.formatDuration(end - start));
}
- ActionStatisticsCollector.getInstance().logExecutionSuccess();
+ ActionStatisticsCollector.getInstance().logExecutionSuccess(this);
return result;
} catch (ProcessStoppedException e) {
@@ -1502,7 +1502,7 @@ public void readProcess(final Reader in, final ProgressListener progressListener
progressListener.setCompleted(0);
}
try {
- Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new InputSource(in));
+ Document document = XMLTools.createDocumentBuilder().parse(new InputSource(in));
if (progressListener != null) {
progressListener.setCompleted(20);
}
@@ -1512,7 +1512,7 @@ public void readProcess(final Reader in, final ProgressListener progressListener
nameMapBackup = operatorNameMap;
rootOperator.clear(Port.CLEAR_ALL);
- } catch (javax.xml.parsers.ParserConfigurationException e) {
+ } catch (XMLParserException e) {
throw new XMLException(e.toString(), e);
} catch (SAXException e) {
throw new XMLException("Cannot parse document: " + e.getMessage(), e);
diff --git a/src/main/java/com/rapidminer/ProcessContext.java b/src/main/java/com/rapidminer/ProcessContext.java
index 6680f5f8d..97a887946 100644
--- a/src/main/java/com/rapidminer/ProcessContext.java
+++ b/src/main/java/com/rapidminer/ProcessContext.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/ProcessListener.java b/src/main/java/com/rapidminer/ProcessListener.java
index 2bb40c335..dff8d45fa 100644
--- a/src/main/java/com/rapidminer/ProcessListener.java
+++ b/src/main/java/com/rapidminer/ProcessListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/ProcessLocation.java b/src/main/java/com/rapidminer/ProcessLocation.java
index 1a14e9d95..54c805154 100644
--- a/src/main/java/com/rapidminer/ProcessLocation.java
+++ b/src/main/java/com/rapidminer/ProcessLocation.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/ProcessSetupListener.java b/src/main/java/com/rapidminer/ProcessSetupListener.java
index 5344ee0ff..335f7d21a 100644
--- a/src/main/java/com/rapidminer/ProcessSetupListener.java
+++ b/src/main/java/com/rapidminer/ProcessSetupListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/ProcessStateListener.java b/src/main/java/com/rapidminer/ProcessStateListener.java
index fab8038ea..778bb3932 100644
--- a/src/main/java/com/rapidminer/ProcessStateListener.java
+++ b/src/main/java/com/rapidminer/ProcessStateListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/ProcessStorageListener.java b/src/main/java/com/rapidminer/ProcessStorageListener.java
index 17b5b6907..0412d132a 100644
--- a/src/main/java/com/rapidminer/ProcessStorageListener.java
+++ b/src/main/java/com/rapidminer/ProcessStorageListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/RapidMiner.java b/src/main/java/com/rapidminer/RapidMiner.java
index 01af57aff..2d93a575a 100644
--- a/src/main/java/com/rapidminer/RapidMiner.java
+++ b/src/main/java/com/rapidminer/RapidMiner.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -670,7 +670,6 @@ public static void init() {
* {@link LicenseLocation} from {@link ProductConstraintManager} will be used.
*/
public static void init(final Product product, final LicenseLocation licenseLocation) {
-
RapidMiner.splashMessage("init_i18n");
I18N.getErrorBundle();
@@ -734,6 +733,10 @@ public static void init(final Product product, final LicenseLocation licenseLoca
Plugin.initAll();
Plugin.initPluginSplashTexts(RapidMiner.splashScreen);
+ // initialize renderers
+ RapidMiner.splashMessage("init_renderers");
+ RendererService.init();
+
RapidMiner.splashMessage("init_ops");
OperatorService.init();
@@ -746,9 +749,7 @@ public static void init(final Product product, final LicenseLocation licenseLoca
RapidMiner.splashMessage("init_configurables");
ConfigurationManager.getInstance().initialize();
- // initialize renderers
- RapidMiner.splashMessage("init_renderers");
- RendererService.init();
+
// initialize xml serialization
RapidMiner.splashMessage("xml_serialization");
diff --git a/src/main/java/com/rapidminer/RapidMinerVersion.java b/src/main/java/com/rapidminer/RapidMinerVersion.java
index 34a30144c..17661860f 100644
--- a/src/main/java/com/rapidminer/RapidMinerVersion.java
+++ b/src/main/java/com/rapidminer/RapidMinerVersion.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/RepositoryProcessLocation.java b/src/main/java/com/rapidminer/RepositoryProcessLocation.java
index 6dfb9b498..e2eed1c14 100644
--- a/src/main/java/com/rapidminer/RepositoryProcessLocation.java
+++ b/src/main/java/com/rapidminer/RepositoryProcessLocation.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/core/license/ActionStatisticsLicenseManagerListener.java b/src/main/java/com/rapidminer/core/license/ActionStatisticsLicenseManagerListener.java
index 1815b10e3..b1b3c6d39 100644
--- a/src/main/java/com/rapidminer/core/license/ActionStatisticsLicenseManagerListener.java
+++ b/src/main/java/com/rapidminer/core/license/ActionStatisticsLicenseManagerListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/core/license/DatabaseConstraintViolationException.java b/src/main/java/com/rapidminer/core/license/DatabaseConstraintViolationException.java
index a662c60dd..a3f6fbd2e 100644
--- a/src/main/java/com/rapidminer/core/license/DatabaseConstraintViolationException.java
+++ b/src/main/java/com/rapidminer/core/license/DatabaseConstraintViolationException.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/core/license/LicenseViolationException.java b/src/main/java/com/rapidminer/core/license/LicenseViolationException.java
index fc0d9eec8..7e7fdedea 100644
--- a/src/main/java/com/rapidminer/core/license/LicenseViolationException.java
+++ b/src/main/java/com/rapidminer/core/license/LicenseViolationException.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/core/license/OpenSourceLicense.java b/src/main/java/com/rapidminer/core/license/OpenSourceLicense.java
index 7e38c0eb5..6feb94f7e 100644
--- a/src/main/java/com/rapidminer/core/license/OpenSourceLicense.java
+++ b/src/main/java/com/rapidminer/core/license/OpenSourceLicense.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/core/license/OpenSourceLicenseManager.java b/src/main/java/com/rapidminer/core/license/OpenSourceLicenseManager.java
index 711b273ef..dc854ce06 100644
--- a/src/main/java/com/rapidminer/core/license/OpenSourceLicenseManager.java
+++ b/src/main/java/com/rapidminer/core/license/OpenSourceLicenseManager.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/core/license/OpenSourceUser.java b/src/main/java/com/rapidminer/core/license/OpenSourceUser.java
index 87a0519fb..af284b8cf 100644
--- a/src/main/java/com/rapidminer/core/license/OpenSourceUser.java
+++ b/src/main/java/com/rapidminer/core/license/OpenSourceUser.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/core/license/ProductConstraintManager.java b/src/main/java/com/rapidminer/core/license/ProductConstraintManager.java
index aa32dcd2c..78bbf0a7b 100644
--- a/src/main/java/com/rapidminer/core/license/ProductConstraintManager.java
+++ b/src/main/java/com/rapidminer/core/license/ProductConstraintManager.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/datatable/AbstractDataTable.java b/src/main/java/com/rapidminer/datatable/AbstractDataTable.java
index 019d82ec5..9f0b7ed14 100644
--- a/src/main/java/com/rapidminer/datatable/AbstractDataTable.java
+++ b/src/main/java/com/rapidminer/datatable/AbstractDataTable.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -21,11 +21,12 @@
import java.io.IOException;
import java.io.PrintWriter;
import java.lang.ref.WeakReference;
+import java.util.ArrayList;
import java.util.Collection;
+import java.util.Collections;
import java.util.Date;
import java.util.HashSet;
import java.util.Iterator;
-import java.util.LinkedList;
import java.util.List;
import org.jfree.data.Range;
@@ -48,8 +49,8 @@
public abstract class AbstractDataTable implements DataTable, Tableable {
/** The list of data table listeners. */
- private List> weakReferencedListeners = new LinkedList<>();
- private List listeners = new LinkedList<>();
+ private List> weakReferencedListeners = Collections.synchronizedList(new ArrayList<>());
+ private List listeners = Collections.synchronizedList(new ArrayList<>());
/** The name of the table. */
private String name;
@@ -116,10 +117,11 @@ public void removeDataTableListener(DataTableListener dataTableListener) {
protected void fireEvent() {
// copy to avoid ConcurrentModification
- List> clone = new LinkedList<>(weakReferencedListeners);
- Iterator> i = clone.iterator();
- while (i.hasNext()) {
- WeakReference reference = i.next();
+ List> clonedWeakListeners;
+ synchronized (weakReferencedListeners) {
+ clonedWeakListeners = new ArrayList<>(weakReferencedListeners);
+ }
+ for (WeakReference reference : clonedWeakListeners) {
DataTableListener listener = reference.get();
if (listener != null) {
listener.dataTableUpdated(this);
@@ -128,7 +130,11 @@ protected void fireEvent() {
}
}
- for (DataTableListener l : listeners) {
+ List clonedListeners;
+ synchronized (listeners) {
+ clonedListeners = new ArrayList<>(listeners);
+ }
+ for (DataTableListener l : clonedListeners) {
l.dataTableUpdated(this);
}
}
diff --git a/src/main/java/com/rapidminer/datatable/BidirectionalMappingProvider.java b/src/main/java/com/rapidminer/datatable/BidirectionalMappingProvider.java
index 623932f46..81c16812d 100644
--- a/src/main/java/com/rapidminer/datatable/BidirectionalMappingProvider.java
+++ b/src/main/java/com/rapidminer/datatable/BidirectionalMappingProvider.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/datatable/CorrelationMatrixRow2DataTableRowIterator.java b/src/main/java/com/rapidminer/datatable/CorrelationMatrixRow2DataTableRowIterator.java
index 0de435c35..96cccebc1 100644
--- a/src/main/java/com/rapidminer/datatable/CorrelationMatrixRow2DataTableRowIterator.java
+++ b/src/main/java/com/rapidminer/datatable/CorrelationMatrixRow2DataTableRowIterator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/datatable/CorrelationMatrixRow2DataTableRowWrapper.java b/src/main/java/com/rapidminer/datatable/CorrelationMatrixRow2DataTableRowWrapper.java
index 1996d45e5..4a3334107 100644
--- a/src/main/java/com/rapidminer/datatable/CorrelationMatrixRow2DataTableRowWrapper.java
+++ b/src/main/java/com/rapidminer/datatable/CorrelationMatrixRow2DataTableRowWrapper.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/datatable/DataTable.java b/src/main/java/com/rapidminer/datatable/DataTable.java
index 76afd7c47..e3e11210c 100644
--- a/src/main/java/com/rapidminer/datatable/DataTable.java
+++ b/src/main/java/com/rapidminer/datatable/DataTable.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/datatable/DataTableExampleSetAdapter.java b/src/main/java/com/rapidminer/datatable/DataTableExampleSetAdapter.java
index f94b2d42b..4a74d8670 100644
--- a/src/main/java/com/rapidminer/datatable/DataTableExampleSetAdapter.java
+++ b/src/main/java/com/rapidminer/datatable/DataTableExampleSetAdapter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/datatable/DataTableFilterCondition.java b/src/main/java/com/rapidminer/datatable/DataTableFilterCondition.java
index e54cad16b..b17bcc9e7 100644
--- a/src/main/java/com/rapidminer/datatable/DataTableFilterCondition.java
+++ b/src/main/java/com/rapidminer/datatable/DataTableFilterCondition.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/datatable/DataTableKernelModelAdapter.java b/src/main/java/com/rapidminer/datatable/DataTableKernelModelAdapter.java
index e2c1f659e..aef5469a8 100644
--- a/src/main/java/com/rapidminer/datatable/DataTableKernelModelAdapter.java
+++ b/src/main/java/com/rapidminer/datatable/DataTableKernelModelAdapter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/datatable/DataTableListener.java b/src/main/java/com/rapidminer/datatable/DataTableListener.java
index 8bb856f7a..7c8a2945b 100644
--- a/src/main/java/com/rapidminer/datatable/DataTableListener.java
+++ b/src/main/java/com/rapidminer/datatable/DataTableListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/datatable/DataTableMappingProvider.java b/src/main/java/com/rapidminer/datatable/DataTableMappingProvider.java
index a7799b9a6..1a5007bb9 100644
--- a/src/main/java/com/rapidminer/datatable/DataTableMappingProvider.java
+++ b/src/main/java/com/rapidminer/datatable/DataTableMappingProvider.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/datatable/DataTableNaturalSortProvider.java b/src/main/java/com/rapidminer/datatable/DataTableNaturalSortProvider.java
index 2c604ed40..5ff3645cc 100644
--- a/src/main/java/com/rapidminer/datatable/DataTableNaturalSortProvider.java
+++ b/src/main/java/com/rapidminer/datatable/DataTableNaturalSortProvider.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/datatable/DataTablePairwiseMatrixExtractionAdapter.java b/src/main/java/com/rapidminer/datatable/DataTablePairwiseMatrixExtractionAdapter.java
index 54299fe0d..a4b628acd 100644
--- a/src/main/java/com/rapidminer/datatable/DataTablePairwiseMatrixExtractionAdapter.java
+++ b/src/main/java/com/rapidminer/datatable/DataTablePairwiseMatrixExtractionAdapter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/datatable/DataTableRow.java b/src/main/java/com/rapidminer/datatable/DataTableRow.java
index 9a4760c76..5a20eb330 100644
--- a/src/main/java/com/rapidminer/datatable/DataTableRow.java
+++ b/src/main/java/com/rapidminer/datatable/DataTableRow.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/datatable/DataTableSortProvider.java b/src/main/java/com/rapidminer/datatable/DataTableSortProvider.java
index ad58d59ad..6ae662716 100644
--- a/src/main/java/com/rapidminer/datatable/DataTableSortProvider.java
+++ b/src/main/java/com/rapidminer/datatable/DataTableSortProvider.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/datatable/DataTableSymmetricalMatrixAdapter.java b/src/main/java/com/rapidminer/datatable/DataTableSymmetricalMatrixAdapter.java
index ef635bab9..63ee1a5c2 100644
--- a/src/main/java/com/rapidminer/datatable/DataTableSymmetricalMatrixAdapter.java
+++ b/src/main/java/com/rapidminer/datatable/DataTableSymmetricalMatrixAdapter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/datatable/DataTableView.java b/src/main/java/com/rapidminer/datatable/DataTableView.java
index cf62b3eb5..661cc211c 100644
--- a/src/main/java/com/rapidminer/datatable/DataTableView.java
+++ b/src/main/java/com/rapidminer/datatable/DataTableView.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/datatable/Example2DataTableRowIterator.java b/src/main/java/com/rapidminer/datatable/Example2DataTableRowIterator.java
index 1b99cd188..8e8dfd674 100644
--- a/src/main/java/com/rapidminer/datatable/Example2DataTableRowIterator.java
+++ b/src/main/java/com/rapidminer/datatable/Example2DataTableRowIterator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/datatable/Example2DataTableRowWrapper.java b/src/main/java/com/rapidminer/datatable/Example2DataTableRowWrapper.java
index 1d85188ee..39dee9c5e 100644
--- a/src/main/java/com/rapidminer/datatable/Example2DataTableRowWrapper.java
+++ b/src/main/java/com/rapidminer/datatable/Example2DataTableRowWrapper.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/datatable/FilteredDataTable.java b/src/main/java/com/rapidminer/datatable/FilteredDataTable.java
index eb809ad05..f384a9091 100644
--- a/src/main/java/com/rapidminer/datatable/FilteredDataTable.java
+++ b/src/main/java/com/rapidminer/datatable/FilteredDataTable.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/datatable/GnuPlotDataTableHandler.java b/src/main/java/com/rapidminer/datatable/GnuPlotDataTableHandler.java
index a606275e4..06c6853c2 100644
--- a/src/main/java/com/rapidminer/datatable/GnuPlotDataTableHandler.java
+++ b/src/main/java/com/rapidminer/datatable/GnuPlotDataTableHandler.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/datatable/KernelModelRow2DataTableRowWrapper.java b/src/main/java/com/rapidminer/datatable/KernelModelRow2DataTableRowWrapper.java
index bdb9e6277..57c9d5d10 100644
--- a/src/main/java/com/rapidminer/datatable/KernelModelRow2DataTableRowWrapper.java
+++ b/src/main/java/com/rapidminer/datatable/KernelModelRow2DataTableRowWrapper.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/datatable/NominalSortingDataTableMapping.java b/src/main/java/com/rapidminer/datatable/NominalSortingDataTableMapping.java
index 28d88600a..a8d8c5489 100644
--- a/src/main/java/com/rapidminer/datatable/NominalSortingDataTableMapping.java
+++ b/src/main/java/com/rapidminer/datatable/NominalSortingDataTableMapping.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/datatable/PairwiseMatrix2DataTableRowIterator.java b/src/main/java/com/rapidminer/datatable/PairwiseMatrix2DataTableRowIterator.java
index 0dd11ac83..c363bcff1 100644
--- a/src/main/java/com/rapidminer/datatable/PairwiseMatrix2DataTableRowIterator.java
+++ b/src/main/java/com/rapidminer/datatable/PairwiseMatrix2DataTableRowIterator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/datatable/PairwiseMatrix2DataTableRowWrapper.java b/src/main/java/com/rapidminer/datatable/PairwiseMatrix2DataTableRowWrapper.java
index 59371013a..ad23e604c 100644
--- a/src/main/java/com/rapidminer/datatable/PairwiseMatrix2DataTableRowWrapper.java
+++ b/src/main/java/com/rapidminer/datatable/PairwiseMatrix2DataTableRowWrapper.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/datatable/RangeFilterCondition.java b/src/main/java/com/rapidminer/datatable/RangeFilterCondition.java
index 44cd0f734..5e5faf930 100644
--- a/src/main/java/com/rapidminer/datatable/RangeFilterCondition.java
+++ b/src/main/java/com/rapidminer/datatable/RangeFilterCondition.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/datatable/RegionFilterCondition.java b/src/main/java/com/rapidminer/datatable/RegionFilterCondition.java
index f78a43d54..8bbd383ad 100644
--- a/src/main/java/com/rapidminer/datatable/RegionFilterCondition.java
+++ b/src/main/java/com/rapidminer/datatable/RegionFilterCondition.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/datatable/SimpleDataTable.java b/src/main/java/com/rapidminer/datatable/SimpleDataTable.java
index 374cca915..754b23dd0 100644
--- a/src/main/java/com/rapidminer/datatable/SimpleDataTable.java
+++ b/src/main/java/com/rapidminer/datatable/SimpleDataTable.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/datatable/SimpleDataTableRow.java b/src/main/java/com/rapidminer/datatable/SimpleDataTableRow.java
index 75f7c336b..f094c9db6 100644
--- a/src/main/java/com/rapidminer/datatable/SimpleDataTableRow.java
+++ b/src/main/java/com/rapidminer/datatable/SimpleDataTableRow.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/datatable/SortedDataTableView.java b/src/main/java/com/rapidminer/datatable/SortedDataTableView.java
index 2e63ccae6..6e39d7908 100644
--- a/src/main/java/com/rapidminer/datatable/SortedDataTableView.java
+++ b/src/main/java/com/rapidminer/datatable/SortedDataTableView.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/datatable/ValueMappingDataTableRow.java b/src/main/java/com/rapidminer/datatable/ValueMappingDataTableRow.java
index d56196223..0e18a9cc0 100644
--- a/src/main/java/com/rapidminer/datatable/ValueMappingDataTableRow.java
+++ b/src/main/java/com/rapidminer/datatable/ValueMappingDataTableRow.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/datatable/ValueMappingDataTableView.java b/src/main/java/com/rapidminer/datatable/ValueMappingDataTableView.java
index 5e5b2824a..be4dccd27 100644
--- a/src/main/java/com/rapidminer/datatable/ValueMappingDataTableView.java
+++ b/src/main/java/com/rapidminer/datatable/ValueMappingDataTableView.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/AbstractAttributes.java b/src/main/java/com/rapidminer/example/AbstractAttributes.java
index c99baf6da..de13ff0bd 100644
--- a/src/main/java/com/rapidminer/example/AbstractAttributes.java
+++ b/src/main/java/com/rapidminer/example/AbstractAttributes.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/Attribute.java b/src/main/java/com/rapidminer/example/Attribute.java
index a00dd8f67..760c258b6 100644
--- a/src/main/java/com/rapidminer/example/Attribute.java
+++ b/src/main/java/com/rapidminer/example/Attribute.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -151,9 +151,9 @@ public interface Attribute extends Cloneable, Serializable {
public NominalMapping getMapping();
/**
- * Returns the nominal mapping between nominal values and internal double representations.
- * Please note that invoking this method might result in an exception for non-nominal
- * attributes.
+ * Sets the nominal mapping between nominal values and internal double representations. Please note that invoking
+ * this method might result in an exception for non-nominal attributes. This method might copy the input parameter
+ * before storing it.
*/
public void setMapping(NominalMapping nominalMapping);
diff --git a/src/main/java/com/rapidminer/example/AttributeDescription.java b/src/main/java/com/rapidminer/example/AttributeDescription.java
index 80f64df61..836c11a5d 100644
--- a/src/main/java/com/rapidminer/example/AttributeDescription.java
+++ b/src/main/java/com/rapidminer/example/AttributeDescription.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/AttributeIterator.java b/src/main/java/com/rapidminer/example/AttributeIterator.java
index 8edbef01a..4856c6a55 100644
--- a/src/main/java/com/rapidminer/example/AttributeIterator.java
+++ b/src/main/java/com/rapidminer/example/AttributeIterator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/AttributeRole.java b/src/main/java/com/rapidminer/example/AttributeRole.java
index 658e2a18b..50d2d4e3a 100644
--- a/src/main/java/com/rapidminer/example/AttributeRole.java
+++ b/src/main/java/com/rapidminer/example/AttributeRole.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/AttributeRoleIterator.java b/src/main/java/com/rapidminer/example/AttributeRoleIterator.java
index a7284d658..13fe314c0 100644
--- a/src/main/java/com/rapidminer/example/AttributeRoleIterator.java
+++ b/src/main/java/com/rapidminer/example/AttributeRoleIterator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/AttributeTransformation.java b/src/main/java/com/rapidminer/example/AttributeTransformation.java
index 367617dee..0b25475e2 100644
--- a/src/main/java/com/rapidminer/example/AttributeTransformation.java
+++ b/src/main/java/com/rapidminer/example/AttributeTransformation.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/AttributeTypeException.java b/src/main/java/com/rapidminer/example/AttributeTypeException.java
index 62fa504c3..8ccff9c02 100644
--- a/src/main/java/com/rapidminer/example/AttributeTypeException.java
+++ b/src/main/java/com/rapidminer/example/AttributeTypeException.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/AttributeWeight.java b/src/main/java/com/rapidminer/example/AttributeWeight.java
index 05a04a507..dfaa6efd6 100644
--- a/src/main/java/com/rapidminer/example/AttributeWeight.java
+++ b/src/main/java/com/rapidminer/example/AttributeWeight.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/AttributeWeights.java b/src/main/java/com/rapidminer/example/AttributeWeights.java
index cb2bd8cef..076a63093 100644
--- a/src/main/java/com/rapidminer/example/AttributeWeights.java
+++ b/src/main/java/com/rapidminer/example/AttributeWeights.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -18,13 +18,6 @@
*/
package com.rapidminer.example;
-import com.rapidminer.RapidMiner;
-import com.rapidminer.datatable.DataTable;
-import com.rapidminer.datatable.SimpleDataTable;
-import com.rapidminer.datatable.SimpleDataTableRow;
-import com.rapidminer.tools.Tools;
-import com.rapidminer.tools.math.AverageVector;
-
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
@@ -40,15 +33,20 @@
import java.util.Map.Entry;
import java.util.Set;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
+import com.rapidminer.RapidMiner;
+import com.rapidminer.datatable.DataTable;
+import com.rapidminer.datatable.SimpleDataTable;
+import com.rapidminer.datatable.SimpleDataTableRow;
+import com.rapidminer.io.process.XMLTools;
+import com.rapidminer.tools.Tools;
+import com.rapidminer.tools.math.AverageVector;
+
/**
* AttributeWeights holds the information about the weights of attributes of an example set. It is
@@ -290,11 +288,9 @@ public static AttributeWeights load(File file) throws IOException {
AttributeWeights result = new AttributeWeights();
Document document = null;
try {
- document = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(file);
+ document = XMLTools.createDocumentBuilder().parse(file);
} catch (SAXException e1) {
throw new IOException(e1.getMessage());
- } catch (ParserConfigurationException e1) {
- throw new IOException(e1.getMessage());
}
Element attributeWeightsElement = document.getDocumentElement();
diff --git a/src/main/java/com/rapidminer/example/Attributes.java b/src/main/java/com/rapidminer/example/Attributes.java
index aaab3de2c..4aab56446 100644
--- a/src/main/java/com/rapidminer/example/Attributes.java
+++ b/src/main/java/com/rapidminer/example/Attributes.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/DelegateAttributes.java b/src/main/java/com/rapidminer/example/DelegateAttributes.java
index e21c75376..446681e84 100644
--- a/src/main/java/com/rapidminer/example/DelegateAttributes.java
+++ b/src/main/java/com/rapidminer/example/DelegateAttributes.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/Example.java b/src/main/java/com/rapidminer/example/Example.java
index 2c0118a43..642918255 100644
--- a/src/main/java/com/rapidminer/example/Example.java
+++ b/src/main/java/com/rapidminer/example/Example.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/ExampleFormatter.java b/src/main/java/com/rapidminer/example/ExampleFormatter.java
index 8001f17d8..af427f356 100644
--- a/src/main/java/com/rapidminer/example/ExampleFormatter.java
+++ b/src/main/java/com/rapidminer/example/ExampleFormatter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/ExampleReader.java b/src/main/java/com/rapidminer/example/ExampleReader.java
index 7d814b6df..e39151d1d 100644
--- a/src/main/java/com/rapidminer/example/ExampleReader.java
+++ b/src/main/java/com/rapidminer/example/ExampleReader.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/ExampleSet.java b/src/main/java/com/rapidminer/example/ExampleSet.java
index 8bb65b0e3..07ec22c9f 100644
--- a/src/main/java/com/rapidminer/example/ExampleSet.java
+++ b/src/main/java/com/rapidminer/example/ExampleSet.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/ExampleSetFactory.java b/src/main/java/com/rapidminer/example/ExampleSetFactory.java
index 954f32253..c35a461b4 100644
--- a/src/main/java/com/rapidminer/example/ExampleSetFactory.java
+++ b/src/main/java/com/rapidminer/example/ExampleSetFactory.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/FastExample2SparseTransform.java b/src/main/java/com/rapidminer/example/FastExample2SparseTransform.java
index 4a4792c06..30ce98b8d 100644
--- a/src/main/java/com/rapidminer/example/FastExample2SparseTransform.java
+++ b/src/main/java/com/rapidminer/example/FastExample2SparseTransform.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/FormatterException.java b/src/main/java/com/rapidminer/example/FormatterException.java
index 18dbb4234..bbd581374 100644
--- a/src/main/java/com/rapidminer/example/FormatterException.java
+++ b/src/main/java/com/rapidminer/example/FormatterException.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/MinMaxStatistics.java b/src/main/java/com/rapidminer/example/MinMaxStatistics.java
index a7a0518d7..dce0afe80 100644
--- a/src/main/java/com/rapidminer/example/MinMaxStatistics.java
+++ b/src/main/java/com/rapidminer/example/MinMaxStatistics.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/NominalStatistics.java b/src/main/java/com/rapidminer/example/NominalStatistics.java
index c82dcff51..c576aa85a 100644
--- a/src/main/java/com/rapidminer/example/NominalStatistics.java
+++ b/src/main/java/com/rapidminer/example/NominalStatistics.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/NumericalStatistics.java b/src/main/java/com/rapidminer/example/NumericalStatistics.java
index 3da576a09..81e4018b6 100644
--- a/src/main/java/com/rapidminer/example/NumericalStatistics.java
+++ b/src/main/java/com/rapidminer/example/NumericalStatistics.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/RegularAttributeIterator.java b/src/main/java/com/rapidminer/example/RegularAttributeIterator.java
index 7c4892bfb..ebeebf745 100644
--- a/src/main/java/com/rapidminer/example/RegularAttributeIterator.java
+++ b/src/main/java/com/rapidminer/example/RegularAttributeIterator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/SimpleAttributes.java b/src/main/java/com/rapidminer/example/SimpleAttributes.java
index 79fbdc399..c8754b358 100644
--- a/src/main/java/com/rapidminer/example/SimpleAttributes.java
+++ b/src/main/java/com/rapidminer/example/SimpleAttributes.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/Statistics.java b/src/main/java/com/rapidminer/example/Statistics.java
index fa78cc070..fbddfbd79 100644
--- a/src/main/java/com/rapidminer/example/Statistics.java
+++ b/src/main/java/com/rapidminer/example/Statistics.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/Tools.java b/src/main/java/com/rapidminer/example/Tools.java
index 2e911fb7a..a7b5ca1ef 100644
--- a/src/main/java/com/rapidminer/example/Tools.java
+++ b/src/main/java/com/rapidminer/example/Tools.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -546,9 +546,9 @@ public static void onlyFiniteValues(ExampleSet exampleSet, boolean allowMissing,
*
* @param es
* the example set
- * @throws UserError
+ * @throws UserError
*/
- public static void onlyNumericalAttributes(ExampleSet es, String task) throws UserError {
+ public static void onlyNumericalAttributes(ExampleSet es, String task) throws UserError {
onlyNumericalAttributes(es.getAttributes(), task);
}
@@ -557,9 +557,9 @@ public static void onlyNumericalAttributes(ExampleSet es, String task) throws Us
*
* @param es
* the example set
- * @throws UserError
+ * @throws UserError
*/
- public static void onlyNumericalAttributes(Attributes attributes, String task) throws UserError {
+ public static void onlyNumericalAttributes(Attributes attributes, String task) throws UserError {
for (Attribute attribute : attributes) {
if (!Ontology.ATTRIBUTE_VALUE_TYPE.isA(attribute.getValueType(), Ontology.NUMERICAL)) {
throw new UserError(null, 104, task, attribute.getName());
@@ -572,18 +572,18 @@ public static void onlyNumericalAttributes(Attributes attributes, String task) t
*
* @param es
* the example set
- * @throws UserError
+ * @throws UserError
*/
- public static void onlyNominalAttributes(ExampleSet es, String task) throws UserError {
+ public static void onlyNominalAttributes(ExampleSet es, String task) throws UserError {
onlyNominalAttributes(es.getAttributes(), task);
}
/**
* The attributes all have to be nominal or binary.
*
- * @throws UserError
+ * @throws UserError
*/
- public static void onlyNominalAttributes(Attributes attributes, String task) throws UserError {
+ public static void onlyNominalAttributes(Attributes attributes, String task) throws UserError {
for (Attribute attribute : attributes) {
if (!Ontology.ATTRIBUTE_VALUE_TYPE.isA(attribute.getValueType(), Ontology.NOMINAL)) {
throw new UserError(null, 103, task, attribute.getName());
@@ -596,10 +596,10 @@ public static void onlyNominalAttributes(Attributes attributes, String task) thr
*
* @param exampleSet
* the example set
- * @throws UserError
+ * @throws UserError
*
*/
- public static void maximumTwoNominalAttributes(ExampleSet exampleSet, String task) throws UserError {
+ public static void maximumTwoNominalAttributes(ExampleSet exampleSet, String task) throws UserError {
for (Attribute attribute : exampleSet.getAttributes()) {
int valueType = attribute.getValueType();
boolean throwError = false;
@@ -622,9 +622,9 @@ public static void maximumTwoNominalAttributes(ExampleSet exampleSet, String tas
*
* @param es
* the example set
- * @throws UserError
+ * @throws UserError
*/
- public static void isLabelled(ExampleSet es) throws UserError {
+ public static void isLabelled(ExampleSet es) throws UserError {
if (es.getAttributes().getLabel() == null) {
throw new UserError(null, 105);
}
@@ -635,9 +635,9 @@ public static void isLabelled(ExampleSet es) throws UserError {
*
* @param es
* the example set
- * @throws UserError
+ * @throws UserError
*/
- public static void isIdTagged(ExampleSet es) throws UserError {
+ public static void isIdTagged(ExampleSet es) throws UserError {
if (es.getAttributes().getId() == null) {
throw new UserError(null, 129);
}
@@ -675,9 +675,9 @@ public static void checkIds(ExampleSet exampleSet) throws UserError {
* @param es
* the example set
* @see #hasNominalLabels(ExampleSet, String) hasNominalLabels(ExampleSet, "clustering")
- * @throws UserError
+ * @throws UserError
*/
- public static void hasNominalLabels(ExampleSet es) throws UserError {
+ public static void hasNominalLabels(ExampleSet es) throws UserError {
hasNominalLabels(es, "clustering");
}
@@ -706,29 +706,29 @@ public static void hasNominalLabels(ExampleSet es, String algorithm) throws User
*
* @param es
* the example set
- * @throws UserError
+ * @throws UserError
*/
- public static void isNonEmpty(ExampleSet es) throws UserError {
+ public static void isNonEmpty(ExampleSet es) throws UserError {
if (es.size() == 0) {
throw new UserError(null, 117);
}
}
/**
- * The example set has to contain at least one regular attribute.
- *
- * @param es
- * the example set
- * @throws UserError
+ * The example set has to contain at least one regular attribute.
+ *
+ * @param es
+ * the example set
+ * @throws UserError
* @since 7.6
- */
- public static void hasRegularAttributes(ExampleSet es) throws UserError {
- if (es.getAttributes().size() == 0) {
- throw new UserError(null, 106);
- }
- }
-
- /**
+ */
+ public static void hasRegularAttributes(ExampleSet es) throws UserError {
+ if (es.getAttributes().size() == 0) {
+ throw new UserError(null, 106);
+ }
+ }
+
+ /**
* Returns a new example set based on a fresh memory example table sampled from the given set.
*/
public static ExampleSet getLinearSubsetCopy(ExampleSet exampleSet, int size, int offset) {
diff --git a/src/main/java/com/rapidminer/example/UnknownStatistics.java b/src/main/java/com/rapidminer/example/UnknownStatistics.java
index 978799df6..cb6e7ab60 100644
--- a/src/main/java/com/rapidminer/example/UnknownStatistics.java
+++ b/src/main/java/com/rapidminer/example/UnknownStatistics.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/WeightedNumericalStatistics.java b/src/main/java/com/rapidminer/example/WeightedNumericalStatistics.java
index 0cf398c8c..dd543ff67 100644
--- a/src/main/java/com/rapidminer/example/WeightedNumericalStatistics.java
+++ b/src/main/java/com/rapidminer/example/WeightedNumericalStatistics.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/set/AbstractExampleReader.java b/src/main/java/com/rapidminer/example/set/AbstractExampleReader.java
index 1456bb379..b55a26ef9 100644
--- a/src/main/java/com/rapidminer/example/set/AbstractExampleReader.java
+++ b/src/main/java/com/rapidminer/example/set/AbstractExampleReader.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/set/AbstractExampleSet.java b/src/main/java/com/rapidminer/example/set/AbstractExampleSet.java
index bce554fc2..dbf54c79e 100644
--- a/src/main/java/com/rapidminer/example/set/AbstractExampleSet.java
+++ b/src/main/java/com/rapidminer/example/set/AbstractExampleSet.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -33,7 +33,6 @@
import java.util.List;
import java.util.Map;
import java.util.zip.GZIPOutputStream;
-
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
@@ -545,4 +544,21 @@ public double getStatistics(Attribute attribute, String statisticsName, String s
return Double.NaN;
}
+
+ /**
+ * Returns {@code true} if and only if the view implemented by this {@link ExampleSet} is thread-safe with respect
+ * to read operations. This does not guarantee the thread-safety of the entire data set: both the underlying {@link
+ * com.rapidminer.example.table.ExampleTable} and the set's attributes might be unsafe to be read from concurrently
+ * and thus need to be checked separately.
+ *
+ *
A complete check is implemented by
+ * {@link com.rapidminer.example.utils.ExampleSets#createThreadSafeCopy(ExampleSet)} which only creates a deep copy
+ * if the thread-safety of the input example set is not guaranteed.
+ *
+ * @return {@code true} iff the view implemented by this example set is thread-safe w.r.t. to read operations
+ * @see com.rapidminer.example.utils.ExampleSets#createThreadSafeCopy(ExampleSet)
+ */
+ public boolean isThreadSafeView() {
+ return false;
+ }
}
diff --git a/src/main/java/com/rapidminer/example/set/AcceptAllCondition.java b/src/main/java/com/rapidminer/example/set/AcceptAllCondition.java
index 4071fe6ad..58f07f389 100644
--- a/src/main/java/com/rapidminer/example/set/AcceptAllCondition.java
+++ b/src/main/java/com/rapidminer/example/set/AcceptAllCondition.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/set/AttributeSelectionExampleSet.java b/src/main/java/com/rapidminer/example/set/AttributeSelectionExampleSet.java
index 6b0559974..9606bca69 100644
--- a/src/main/java/com/rapidminer/example/set/AttributeSelectionExampleSet.java
+++ b/src/main/java/com/rapidminer/example/set/AttributeSelectionExampleSet.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/set/AttributeTransformationRemapping.java b/src/main/java/com/rapidminer/example/set/AttributeTransformationRemapping.java
index 4db566e5f..687572827 100644
--- a/src/main/java/com/rapidminer/example/set/AttributeTransformationRemapping.java
+++ b/src/main/java/com/rapidminer/example/set/AttributeTransformationRemapping.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/set/AttributeTransformationReplaceMissing.java b/src/main/java/com/rapidminer/example/set/AttributeTransformationReplaceMissing.java
index d505df280..fb5167799 100644
--- a/src/main/java/com/rapidminer/example/set/AttributeTransformationReplaceMissing.java
+++ b/src/main/java/com/rapidminer/example/set/AttributeTransformationReplaceMissing.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/set/AttributeTransformationWeighting.java b/src/main/java/com/rapidminer/example/set/AttributeTransformationWeighting.java
index 6b820d604..fb0d71c22 100644
--- a/src/main/java/com/rapidminer/example/set/AttributeTransformationWeighting.java
+++ b/src/main/java/com/rapidminer/example/set/AttributeTransformationWeighting.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/set/AttributeValueFilter.java b/src/main/java/com/rapidminer/example/set/AttributeValueFilter.java
index 6fdba86a4..3baeea795 100644
--- a/src/main/java/com/rapidminer/example/set/AttributeValueFilter.java
+++ b/src/main/java/com/rapidminer/example/set/AttributeValueFilter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/set/AttributeValueFilterSingleCondition.java b/src/main/java/com/rapidminer/example/set/AttributeValueFilterSingleCondition.java
index 0b1f6f9d4..bccc0bcd6 100644
--- a/src/main/java/com/rapidminer/example/set/AttributeValueFilterSingleCondition.java
+++ b/src/main/java/com/rapidminer/example/set/AttributeValueFilterSingleCondition.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/set/AttributeWeightedExampleSet.java b/src/main/java/com/rapidminer/example/set/AttributeWeightedExampleSet.java
index 4a505a0da..71160b810 100644
--- a/src/main/java/com/rapidminer/example/set/AttributeWeightedExampleSet.java
+++ b/src/main/java/com/rapidminer/example/set/AttributeWeightedExampleSet.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/set/AttributesExampleReader.java b/src/main/java/com/rapidminer/example/set/AttributesExampleReader.java
index 69eb7541b..6d59820d9 100644
--- a/src/main/java/com/rapidminer/example/set/AttributesExampleReader.java
+++ b/src/main/java/com/rapidminer/example/set/AttributesExampleReader.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/set/Condition.java b/src/main/java/com/rapidminer/example/set/Condition.java
index 2783092f2..5d2f67dc3 100644
--- a/src/main/java/com/rapidminer/example/set/Condition.java
+++ b/src/main/java/com/rapidminer/example/set/Condition.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/set/ConditionCreationException.java b/src/main/java/com/rapidminer/example/set/ConditionCreationException.java
index cd2fdd850..ffa98bbd3 100644
--- a/src/main/java/com/rapidminer/example/set/ConditionCreationException.java
+++ b/src/main/java/com/rapidminer/example/set/ConditionCreationException.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/set/ConditionedExampleSet.java b/src/main/java/com/rapidminer/example/set/ConditionedExampleSet.java
index 58af77cb2..9e2ad478d 100644
--- a/src/main/java/com/rapidminer/example/set/ConditionedExampleSet.java
+++ b/src/main/java/com/rapidminer/example/set/ConditionedExampleSet.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -259,4 +259,9 @@ public Annotations getAnnotations() {
public void cleanup() {
parent.cleanup();
}
+
+ @Override
+ public boolean isThreadSafeView() {
+ return parent instanceof AbstractExampleSet && ((AbstractExampleSet) parent).isThreadSafeView();
+ }
}
diff --git a/src/main/java/com/rapidminer/example/set/CorrectPredictionCondition.java b/src/main/java/com/rapidminer/example/set/CorrectPredictionCondition.java
index 36156e23d..941f72579 100644
--- a/src/main/java/com/rapidminer/example/set/CorrectPredictionCondition.java
+++ b/src/main/java/com/rapidminer/example/set/CorrectPredictionCondition.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/set/CustomFilter.java b/src/main/java/com/rapidminer/example/set/CustomFilter.java
index 0e85baebc..f20fd3521 100644
--- a/src/main/java/com/rapidminer/example/set/CustomFilter.java
+++ b/src/main/java/com/rapidminer/example/set/CustomFilter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/set/ExampleSetUtilities.java b/src/main/java/com/rapidminer/example/set/ExampleSetUtilities.java
index 2b3f67215..f3d9119f9 100644
--- a/src/main/java/com/rapidminer/example/set/ExampleSetUtilities.java
+++ b/src/main/java/com/rapidminer/example/set/ExampleSetUtilities.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/set/ExpressionFilter.java b/src/main/java/com/rapidminer/example/set/ExpressionFilter.java
index 09f43e1a3..16438c9da 100644
--- a/src/main/java/com/rapidminer/example/set/ExpressionFilter.java
+++ b/src/main/java/com/rapidminer/example/set/ExpressionFilter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/set/FullAttributeTransformationRemapping.java b/src/main/java/com/rapidminer/example/set/FullAttributeTransformationRemapping.java
index 0d0b09388..49aee94f1 100644
--- a/src/main/java/com/rapidminer/example/set/FullAttributeTransformationRemapping.java
+++ b/src/main/java/com/rapidminer/example/set/FullAttributeTransformationRemapping.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/set/HeaderExampleSet.java b/src/main/java/com/rapidminer/example/set/HeaderExampleSet.java
index eb50cfbd0..14c4cc6a4 100644
--- a/src/main/java/com/rapidminer/example/set/HeaderExampleSet.java
+++ b/src/main/java/com/rapidminer/example/set/HeaderExampleSet.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -45,6 +45,19 @@ public HeaderExampleSet(ExampleSet parent) {
this.attributes = (Attributes) parent.getAttributes().clone();
}
+
+ /**
+ * Creates a new header example set with the given attribute. The attributes are not cloned automatically and must
+ * be cloned before calling this constructor if they are shared with another {@link ExampleSet}.
+ *
+ * @param attributes
+ * the attributes for the header example set
+ * @since 8.1.0
+ */
+ public HeaderExampleSet(Attributes attributes) {
+ this.attributes = attributes;
+ }
+
/** Header example set clone constructor. */
public HeaderExampleSet(HeaderExampleSet other) {
cloneAnnotationsFrom(other);
diff --git a/src/main/java/com/rapidminer/example/set/IndexBasedExampleSetReader.java b/src/main/java/com/rapidminer/example/set/IndexBasedExampleSetReader.java
index 0f48b63ca..0c10e0385 100644
--- a/src/main/java/com/rapidminer/example/set/IndexBasedExampleSetReader.java
+++ b/src/main/java/com/rapidminer/example/set/IndexBasedExampleSetReader.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/set/MappedExampleReader.java b/src/main/java/com/rapidminer/example/set/MappedExampleReader.java
index d25b2f8d7..5271059a4 100644
--- a/src/main/java/com/rapidminer/example/set/MappedExampleReader.java
+++ b/src/main/java/com/rapidminer/example/set/MappedExampleReader.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/set/MappedExampleSet.java b/src/main/java/com/rapidminer/example/set/MappedExampleSet.java
index e282ff9a7..b5d7f107b 100644
--- a/src/main/java/com/rapidminer/example/set/MappedExampleSet.java
+++ b/src/main/java/com/rapidminer/example/set/MappedExampleSet.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -18,6 +18,12 @@
*/
package com.rapidminer.example.set;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Random;
+
import com.rapidminer.example.Attribute;
import com.rapidminer.example.Attributes;
import com.rapidminer.example.Example;
@@ -26,12 +32,6 @@
import com.rapidminer.example.table.ExampleTable;
import com.rapidminer.operator.Annotations;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Random;
-
/**
*
@@ -212,4 +212,10 @@ public Annotations getAnnotations() {
public void cleanup() {
parent.cleanup();
}
+
+ @Override
+ public boolean isThreadSafeView() {
+ return parent instanceof AbstractExampleSet && ((AbstractExampleSet) parent).isThreadSafeView();
+ }
+
}
diff --git a/src/main/java/com/rapidminer/example/set/MissingAttributesCondition.java b/src/main/java/com/rapidminer/example/set/MissingAttributesCondition.java
index 478086af4..95f8b39db 100644
--- a/src/main/java/com/rapidminer/example/set/MissingAttributesCondition.java
+++ b/src/main/java/com/rapidminer/example/set/MissingAttributesCondition.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/set/MissingLabelsCondition.java b/src/main/java/com/rapidminer/example/set/MissingLabelsCondition.java
index 4e19e29c3..a88719683 100644
--- a/src/main/java/com/rapidminer/example/set/MissingLabelsCondition.java
+++ b/src/main/java/com/rapidminer/example/set/MissingLabelsCondition.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/set/ModelViewExampleSet.java b/src/main/java/com/rapidminer/example/set/ModelViewExampleSet.java
index c0351ac7f..d31e8a63b 100644
--- a/src/main/java/com/rapidminer/example/set/ModelViewExampleSet.java
+++ b/src/main/java/com/rapidminer/example/set/ModelViewExampleSet.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/set/NoMissingAttributeValueCondition.java b/src/main/java/com/rapidminer/example/set/NoMissingAttributeValueCondition.java
index 1168c1a9b..2f863e6f4 100644
--- a/src/main/java/com/rapidminer/example/set/NoMissingAttributeValueCondition.java
+++ b/src/main/java/com/rapidminer/example/set/NoMissingAttributeValueCondition.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/set/NoMissingAttributesCondition.java b/src/main/java/com/rapidminer/example/set/NoMissingAttributesCondition.java
index b57cdaafd..6cde8b6ff 100644
--- a/src/main/java/com/rapidminer/example/set/NoMissingAttributesCondition.java
+++ b/src/main/java/com/rapidminer/example/set/NoMissingAttributesCondition.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/set/NoMissingLabelsCondition.java b/src/main/java/com/rapidminer/example/set/NoMissingLabelsCondition.java
index 717d0d645..55b9a6926 100644
--- a/src/main/java/com/rapidminer/example/set/NoMissingLabelsCondition.java
+++ b/src/main/java/com/rapidminer/example/set/NoMissingLabelsCondition.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/set/NonSpecialAttributesExampleSet.java b/src/main/java/com/rapidminer/example/set/NonSpecialAttributesExampleSet.java
index cd4ccf5d8..8462f794a 100644
--- a/src/main/java/com/rapidminer/example/set/NonSpecialAttributesExampleSet.java
+++ b/src/main/java/com/rapidminer/example/set/NonSpecialAttributesExampleSet.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/set/Partition.java b/src/main/java/com/rapidminer/example/set/Partition.java
index 80de711f9..3cf16ca46 100644
--- a/src/main/java/com/rapidminer/example/set/Partition.java
+++ b/src/main/java/com/rapidminer/example/set/Partition.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/set/PartitionBuilder.java b/src/main/java/com/rapidminer/example/set/PartitionBuilder.java
index 3233cf1f6..bd13a97c8 100644
--- a/src/main/java/com/rapidminer/example/set/PartitionBuilder.java
+++ b/src/main/java/com/rapidminer/example/set/PartitionBuilder.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/set/RemappedExampleSet.java b/src/main/java/com/rapidminer/example/set/RemappedExampleSet.java
index cfb5d2e92..4e4ca862e 100644
--- a/src/main/java/com/rapidminer/example/set/RemappedExampleSet.java
+++ b/src/main/java/com/rapidminer/example/set/RemappedExampleSet.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/set/ReplaceMissingExampleSet.java b/src/main/java/com/rapidminer/example/set/ReplaceMissingExampleSet.java
index 57ddfb319..e80e38c51 100644
--- a/src/main/java/com/rapidminer/example/set/ReplaceMissingExampleSet.java
+++ b/src/main/java/com/rapidminer/example/set/ReplaceMissingExampleSet.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/set/ShuffledPartitionBuilder.java b/src/main/java/com/rapidminer/example/set/ShuffledPartitionBuilder.java
index ccae4d82f..a9b2b017e 100644
--- a/src/main/java/com/rapidminer/example/set/ShuffledPartitionBuilder.java
+++ b/src/main/java/com/rapidminer/example/set/ShuffledPartitionBuilder.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/set/SimilarityExampleSet.java b/src/main/java/com/rapidminer/example/set/SimilarityExampleSet.java
index cb2a3e5d9..f6c6342dd 100644
--- a/src/main/java/com/rapidminer/example/set/SimilarityExampleSet.java
+++ b/src/main/java/com/rapidminer/example/set/SimilarityExampleSet.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/set/SimpleExampleReader.java b/src/main/java/com/rapidminer/example/set/SimpleExampleReader.java
index e4d6d1fa6..7d79820b0 100644
--- a/src/main/java/com/rapidminer/example/set/SimpleExampleReader.java
+++ b/src/main/java/com/rapidminer/example/set/SimpleExampleReader.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/set/SimpleExampleSet.java b/src/main/java/com/rapidminer/example/set/SimpleExampleSet.java
index 36c519274..c250cceb8 100644
--- a/src/main/java/com/rapidminer/example/set/SimpleExampleSet.java
+++ b/src/main/java/com/rapidminer/example/set/SimpleExampleSet.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -184,4 +184,9 @@ public void cleanup() {
this.exampleTable = table.columnCleanupClone(attributes);
}
}
+
+ @Override
+ public boolean isThreadSafeView() {
+ return true;
+ }
}
diff --git a/src/main/java/com/rapidminer/example/set/SimplePartitionBuilder.java b/src/main/java/com/rapidminer/example/set/SimplePartitionBuilder.java
index 0d0c2dde9..92b263046 100644
--- a/src/main/java/com/rapidminer/example/set/SimplePartitionBuilder.java
+++ b/src/main/java/com/rapidminer/example/set/SimplePartitionBuilder.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/set/SingleExampleExampleSet.java b/src/main/java/com/rapidminer/example/set/SingleExampleExampleSet.java
index d3842a5e2..95f5c6acf 100644
--- a/src/main/java/com/rapidminer/example/set/SingleExampleExampleSet.java
+++ b/src/main/java/com/rapidminer/example/set/SingleExampleExampleSet.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/set/SkipNANExampleReader.java b/src/main/java/com/rapidminer/example/set/SkipNANExampleReader.java
index 0f3b1682d..2399b9711 100644
--- a/src/main/java/com/rapidminer/example/set/SkipNANExampleReader.java
+++ b/src/main/java/com/rapidminer/example/set/SkipNANExampleReader.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/set/SortedExampleReader.java b/src/main/java/com/rapidminer/example/set/SortedExampleReader.java
index 9b85a21e3..558e2fbc9 100644
--- a/src/main/java/com/rapidminer/example/set/SortedExampleReader.java
+++ b/src/main/java/com/rapidminer/example/set/SortedExampleReader.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/set/SortedExampleSet.java b/src/main/java/com/rapidminer/example/set/SortedExampleSet.java
index 124ac523d..c2745d73a 100644
--- a/src/main/java/com/rapidminer/example/set/SortedExampleSet.java
+++ b/src/main/java/com/rapidminer/example/set/SortedExampleSet.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -287,4 +287,9 @@ public ExampleTable getExampleTable() {
public void cleanup() {
parent.cleanup();
}
+
+ @Override
+ public boolean isThreadSafeView() {
+ return parent instanceof AbstractExampleSet && ((AbstractExampleSet) parent).isThreadSafeView();
+ }
}
diff --git a/src/main/java/com/rapidminer/example/set/SplittedExampleSet.java b/src/main/java/com/rapidminer/example/set/SplittedExampleSet.java
index 0861630f3..5f127780f 100644
--- a/src/main/java/com/rapidminer/example/set/SplittedExampleSet.java
+++ b/src/main/java/com/rapidminer/example/set/SplittedExampleSet.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -248,11 +248,11 @@ private static PartitionBuilder createPartitionBuilder(ExampleSet exampleSet, in
case AUTOMATIC:
default:
Attribute label = exampleSet.getAttributes().getLabel();
- if (label != null && label.isNominal()) {
+ if (label != null && label.isNominal()) {
builder = new StratifiedPartitionBuilder(exampleSet, useLocalRandomSeed, seed);
} else {
if ((autoSwitchToShuffled || samplingType == AUTOMATIC) && (label == null || !label.isNominal())) {
- exampleSet.getLog().logWarning(
+ exampleSet.getLog().logWarning(
"Example set has no nominal label: using shuffled partition instead of stratified partition");
return new ShuffledPartitionBuilder(useLocalRandomSeed, seed);
}
diff --git a/src/main/java/com/rapidminer/example/set/StratifiedPartitionBuilder.java b/src/main/java/com/rapidminer/example/set/StratifiedPartitionBuilder.java
index 5d665422f..0d8481574 100644
--- a/src/main/java/com/rapidminer/example/set/StratifiedPartitionBuilder.java
+++ b/src/main/java/com/rapidminer/example/set/StratifiedPartitionBuilder.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/set/WrongPredictionCondition.java b/src/main/java/com/rapidminer/example/set/WrongPredictionCondition.java
index 219c23579..7fd1b94e4 100644
--- a/src/main/java/com/rapidminer/example/set/WrongPredictionCondition.java
+++ b/src/main/java/com/rapidminer/example/set/WrongPredictionCondition.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/AbstractAttribute.java b/src/main/java/com/rapidminer/example/table/AbstractAttribute.java
index ce8613660..37fada49e 100644
--- a/src/main/java/com/rapidminer/example/table/AbstractAttribute.java
+++ b/src/main/java/com/rapidminer/example/table/AbstractAttribute.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/AbstractDataRowReader.java b/src/main/java/com/rapidminer/example/table/AbstractDataRowReader.java
index c38c310b7..5efa56f29 100644
--- a/src/main/java/com/rapidminer/example/table/AbstractDataRowReader.java
+++ b/src/main/java/com/rapidminer/example/table/AbstractDataRowReader.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/AbstractExampleTable.java b/src/main/java/com/rapidminer/example/table/AbstractExampleTable.java
index a8037bf01..895cc1669 100644
--- a/src/main/java/com/rapidminer/example/table/AbstractExampleTable.java
+++ b/src/main/java/com/rapidminer/example/table/AbstractExampleTable.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/AbstractSparseArrayDataRow.java b/src/main/java/com/rapidminer/example/table/AbstractSparseArrayDataRow.java
index d7362a5f1..19514e6c2 100644
--- a/src/main/java/com/rapidminer/example/table/AbstractSparseArrayDataRow.java
+++ b/src/main/java/com/rapidminer/example/table/AbstractSparseArrayDataRow.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/AttributeFactory.java b/src/main/java/com/rapidminer/example/table/AttributeFactory.java
index 05d157091..1faed6c8a 100644
--- a/src/main/java/com/rapidminer/example/table/AttributeFactory.java
+++ b/src/main/java/com/rapidminer/example/table/AttributeFactory.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/BinominalAttribute.java b/src/main/java/com/rapidminer/example/table/BinominalAttribute.java
index 46ac9f111..4b18cc34e 100644
--- a/src/main/java/com/rapidminer/example/table/BinominalAttribute.java
+++ b/src/main/java/com/rapidminer/example/table/BinominalAttribute.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/BinominalMapping.java b/src/main/java/com/rapidminer/example/table/BinominalMapping.java
index 30c2cba58..22914758b 100644
--- a/src/main/java/com/rapidminer/example/table/BinominalMapping.java
+++ b/src/main/java/com/rapidminer/example/table/BinominalMapping.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/BooleanArrayDataRow.java b/src/main/java/com/rapidminer/example/table/BooleanArrayDataRow.java
index aa927c329..bfc3666bb 100644
--- a/src/main/java/com/rapidminer/example/table/BooleanArrayDataRow.java
+++ b/src/main/java/com/rapidminer/example/table/BooleanArrayDataRow.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/BooleanSparseArrayDataRow.java b/src/main/java/com/rapidminer/example/table/BooleanSparseArrayDataRow.java
index 76700fc21..0ba876e2f 100644
--- a/src/main/java/com/rapidminer/example/table/BooleanSparseArrayDataRow.java
+++ b/src/main/java/com/rapidminer/example/table/BooleanSparseArrayDataRow.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/ByteArrayDataRow.java b/src/main/java/com/rapidminer/example/table/ByteArrayDataRow.java
index f38074753..10100654e 100644
--- a/src/main/java/com/rapidminer/example/table/ByteArrayDataRow.java
+++ b/src/main/java/com/rapidminer/example/table/ByteArrayDataRow.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/ByteSparseArrayDataRow.java b/src/main/java/com/rapidminer/example/table/ByteSparseArrayDataRow.java
index c28abc27c..1d9c395e8 100644
--- a/src/main/java/com/rapidminer/example/table/ByteSparseArrayDataRow.java
+++ b/src/main/java/com/rapidminer/example/table/ByteSparseArrayDataRow.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/DataRow.java b/src/main/java/com/rapidminer/example/table/DataRow.java
index 2148ed60e..1766ae798 100644
--- a/src/main/java/com/rapidminer/example/table/DataRow.java
+++ b/src/main/java/com/rapidminer/example/table/DataRow.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/DataRowFactory.java b/src/main/java/com/rapidminer/example/table/DataRowFactory.java
index f2863aba3..8ffc5a2dc 100644
--- a/src/main/java/com/rapidminer/example/table/DataRowFactory.java
+++ b/src/main/java/com/rapidminer/example/table/DataRowFactory.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/DataRowReader.java b/src/main/java/com/rapidminer/example/table/DataRowReader.java
index 16fcf87b7..69458ecaa 100644
--- a/src/main/java/com/rapidminer/example/table/DataRowReader.java
+++ b/src/main/java/com/rapidminer/example/table/DataRowReader.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/DatabaseDataRow.java b/src/main/java/com/rapidminer/example/table/DatabaseDataRow.java
index bd48afed4..e3876b339 100644
--- a/src/main/java/com/rapidminer/example/table/DatabaseDataRow.java
+++ b/src/main/java/com/rapidminer/example/table/DatabaseDataRow.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/DatabaseDataRowReader.java b/src/main/java/com/rapidminer/example/table/DatabaseDataRowReader.java
index 75a2c3b0d..38fe728c2 100644
--- a/src/main/java/com/rapidminer/example/table/DatabaseDataRowReader.java
+++ b/src/main/java/com/rapidminer/example/table/DatabaseDataRowReader.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/DateAttribute.java b/src/main/java/com/rapidminer/example/table/DateAttribute.java
index baaba1585..de32b46df 100644
--- a/src/main/java/com/rapidminer/example/table/DateAttribute.java
+++ b/src/main/java/com/rapidminer/example/table/DateAttribute.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/DoubleArrayDataRow.java b/src/main/java/com/rapidminer/example/table/DoubleArrayDataRow.java
index 67f5584e3..12919048e 100644
--- a/src/main/java/com/rapidminer/example/table/DoubleArrayDataRow.java
+++ b/src/main/java/com/rapidminer/example/table/DoubleArrayDataRow.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/DoubleSparseArrayDataRow.java b/src/main/java/com/rapidminer/example/table/DoubleSparseArrayDataRow.java
index 73e325688..cb018f0dc 100644
--- a/src/main/java/com/rapidminer/example/table/DoubleSparseArrayDataRow.java
+++ b/src/main/java/com/rapidminer/example/table/DoubleSparseArrayDataRow.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/ExampleTable.java b/src/main/java/com/rapidminer/example/table/ExampleTable.java
index e1c3aba55..5fabe0a07 100644
--- a/src/main/java/com/rapidminer/example/table/ExampleTable.java
+++ b/src/main/java/com/rapidminer/example/table/ExampleTable.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/FastSparseDoubleArrayDataRow.java b/src/main/java/com/rapidminer/example/table/FastSparseDoubleArrayDataRow.java
index 5e9b1dc18..7623f604b 100644
--- a/src/main/java/com/rapidminer/example/table/FastSparseDoubleArrayDataRow.java
+++ b/src/main/java/com/rapidminer/example/table/FastSparseDoubleArrayDataRow.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/FileDataRowReader.java b/src/main/java/com/rapidminer/example/table/FileDataRowReader.java
index 2950dd8fe..a71e58572 100644
--- a/src/main/java/com/rapidminer/example/table/FileDataRowReader.java
+++ b/src/main/java/com/rapidminer/example/table/FileDataRowReader.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/FloatArrayDataRow.java b/src/main/java/com/rapidminer/example/table/FloatArrayDataRow.java
index 23b3d0de3..3b55cbc16 100644
--- a/src/main/java/com/rapidminer/example/table/FloatArrayDataRow.java
+++ b/src/main/java/com/rapidminer/example/table/FloatArrayDataRow.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/FloatSparseArrayDataRow.java b/src/main/java/com/rapidminer/example/table/FloatSparseArrayDataRow.java
index cfb81595b..c763c37ea 100644
--- a/src/main/java/com/rapidminer/example/table/FloatSparseArrayDataRow.java
+++ b/src/main/java/com/rapidminer/example/table/FloatSparseArrayDataRow.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/GrowingExampleTable.java b/src/main/java/com/rapidminer/example/table/GrowingExampleTable.java
index 235e6e7b7..bf17a6341 100644
--- a/src/main/java/com/rapidminer/example/table/GrowingExampleTable.java
+++ b/src/main/java/com/rapidminer/example/table/GrowingExampleTable.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/IntArrayDataRow.java b/src/main/java/com/rapidminer/example/table/IntArrayDataRow.java
index d19e3edfd..bed95d401 100644
--- a/src/main/java/com/rapidminer/example/table/IntArrayDataRow.java
+++ b/src/main/java/com/rapidminer/example/table/IntArrayDataRow.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/IntSparseArrayDataRow.java b/src/main/java/com/rapidminer/example/table/IntSparseArrayDataRow.java
index 7aeb7324c..ea8d18718 100644
--- a/src/main/java/com/rapidminer/example/table/IntSparseArrayDataRow.java
+++ b/src/main/java/com/rapidminer/example/table/IntSparseArrayDataRow.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/ListDataRowReader.java b/src/main/java/com/rapidminer/example/table/ListDataRowReader.java
index 1a128a85b..f45d5895a 100644
--- a/src/main/java/com/rapidminer/example/table/ListDataRowReader.java
+++ b/src/main/java/com/rapidminer/example/table/ListDataRowReader.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/LongArrayDataRow.java b/src/main/java/com/rapidminer/example/table/LongArrayDataRow.java
index a80f7997e..b186386d2 100644
--- a/src/main/java/com/rapidminer/example/table/LongArrayDataRow.java
+++ b/src/main/java/com/rapidminer/example/table/LongArrayDataRow.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/LongSparseArrayDataRow.java b/src/main/java/com/rapidminer/example/table/LongSparseArrayDataRow.java
index 85e9f133d..0105e7275 100644
--- a/src/main/java/com/rapidminer/example/table/LongSparseArrayDataRow.java
+++ b/src/main/java/com/rapidminer/example/table/LongSparseArrayDataRow.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/MemoryExampleTable.java b/src/main/java/com/rapidminer/example/table/MemoryExampleTable.java
index 2b0d9c218..bad0a1bd7 100644
--- a/src/main/java/com/rapidminer/example/table/MemoryExampleTable.java
+++ b/src/main/java/com/rapidminer/example/table/MemoryExampleTable.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/NominalAttribute.java b/src/main/java/com/rapidminer/example/table/NominalAttribute.java
index 055f364f9..4512dfe0a 100644
--- a/src/main/java/com/rapidminer/example/table/NominalAttribute.java
+++ b/src/main/java/com/rapidminer/example/table/NominalAttribute.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/NominalMapping.java b/src/main/java/com/rapidminer/example/table/NominalMapping.java
index 46accb5db..009ec0e0d 100644
--- a/src/main/java/com/rapidminer/example/table/NominalMapping.java
+++ b/src/main/java/com/rapidminer/example/table/NominalMapping.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/NonWritableDataRow.java b/src/main/java/com/rapidminer/example/table/NonWritableDataRow.java
index cd92ed341..678f29871 100644
--- a/src/main/java/com/rapidminer/example/table/NonWritableDataRow.java
+++ b/src/main/java/com/rapidminer/example/table/NonWritableDataRow.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/NumericalAttribute.java b/src/main/java/com/rapidminer/example/table/NumericalAttribute.java
index cb6ad8e39..b74d49e99 100644
--- a/src/main/java/com/rapidminer/example/table/NumericalAttribute.java
+++ b/src/main/java/com/rapidminer/example/table/NumericalAttribute.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/PolynominalAttribute.java b/src/main/java/com/rapidminer/example/table/PolynominalAttribute.java
index 650b357eb..6650d8ca0 100644
--- a/src/main/java/com/rapidminer/example/table/PolynominalAttribute.java
+++ b/src/main/java/com/rapidminer/example/table/PolynominalAttribute.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/PolynominalMapping.java b/src/main/java/com/rapidminer/example/table/PolynominalMapping.java
index f0fc5ff24..63be7b9d2 100644
--- a/src/main/java/com/rapidminer/example/table/PolynominalMapping.java
+++ b/src/main/java/com/rapidminer/example/table/PolynominalMapping.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/RandomDataRowReader.java b/src/main/java/com/rapidminer/example/table/RandomDataRowReader.java
index fe1b84e7b..f9ad89c3c 100644
--- a/src/main/java/com/rapidminer/example/table/RandomDataRowReader.java
+++ b/src/main/java/com/rapidminer/example/table/RandomDataRowReader.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/RandomExampleTable.java b/src/main/java/com/rapidminer/example/table/RandomExampleTable.java
index afc114452..8326f1d96 100644
--- a/src/main/java/com/rapidminer/example/table/RandomExampleTable.java
+++ b/src/main/java/com/rapidminer/example/table/RandomExampleTable.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/RapidMinerLineReader.java b/src/main/java/com/rapidminer/example/table/RapidMinerLineReader.java
index 7a5995221..a8108536b 100644
--- a/src/main/java/com/rapidminer/example/table/RapidMinerLineReader.java
+++ b/src/main/java/com/rapidminer/example/table/RapidMinerLineReader.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/ResultSetDataRowReader.java b/src/main/java/com/rapidminer/example/table/ResultSetDataRowReader.java
index d61abc886..b23c2d9fa 100644
--- a/src/main/java/com/rapidminer/example/table/ResultSetDataRowReader.java
+++ b/src/main/java/com/rapidminer/example/table/ResultSetDataRowReader.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/ShortArrayDataRow.java b/src/main/java/com/rapidminer/example/table/ShortArrayDataRow.java
index 7c7273dd2..9c479913c 100644
--- a/src/main/java/com/rapidminer/example/table/ShortArrayDataRow.java
+++ b/src/main/java/com/rapidminer/example/table/ShortArrayDataRow.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/ShortSparseArrayDataRow.java b/src/main/java/com/rapidminer/example/table/ShortSparseArrayDataRow.java
index dac03d86a..efe0c75f6 100644
--- a/src/main/java/com/rapidminer/example/table/ShortSparseArrayDataRow.java
+++ b/src/main/java/com/rapidminer/example/table/ShortSparseArrayDataRow.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/SimpleArrayData.java b/src/main/java/com/rapidminer/example/table/SimpleArrayData.java
index 773e54370..a2ba431ba 100644
--- a/src/main/java/com/rapidminer/example/table/SimpleArrayData.java
+++ b/src/main/java/com/rapidminer/example/table/SimpleArrayData.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/SimpleArrayDataRowReader.java b/src/main/java/com/rapidminer/example/table/SimpleArrayDataRowReader.java
index 903145415..d383fe984 100644
--- a/src/main/java/com/rapidminer/example/table/SimpleArrayDataRowReader.java
+++ b/src/main/java/com/rapidminer/example/table/SimpleArrayDataRowReader.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/SparseDataRow.java b/src/main/java/com/rapidminer/example/table/SparseDataRow.java
index d77fc54a4..b7f97d6fd 100644
--- a/src/main/java/com/rapidminer/example/table/SparseDataRow.java
+++ b/src/main/java/com/rapidminer/example/table/SparseDataRow.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/SparseFormatDataRowReader.java b/src/main/java/com/rapidminer/example/table/SparseFormatDataRowReader.java
index a1141031f..e41d26602 100644
--- a/src/main/java/com/rapidminer/example/table/SparseFormatDataRowReader.java
+++ b/src/main/java/com/rapidminer/example/table/SparseFormatDataRowReader.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/SparseMapDataRow.java b/src/main/java/com/rapidminer/example/table/SparseMapDataRow.java
index 5445f8928..ead05c935 100644
--- a/src/main/java/com/rapidminer/example/table/SparseMapDataRow.java
+++ b/src/main/java/com/rapidminer/example/table/SparseMapDataRow.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/ViewAttribute.java b/src/main/java/com/rapidminer/example/table/ViewAttribute.java
index 75a49fac9..f8801af5a 100644
--- a/src/main/java/com/rapidminer/example/table/ViewAttribute.java
+++ b/src/main/java/com/rapidminer/example/table/ViewAttribute.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/internal/AbstractHighSparsityChunk.java b/src/main/java/com/rapidminer/example/table/internal/AbstractHighSparsityChunk.java
index 12d615313..585e42840 100644
--- a/src/main/java/com/rapidminer/example/table/internal/AbstractHighSparsityChunk.java
+++ b/src/main/java/com/rapidminer/example/table/internal/AbstractHighSparsityChunk.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/internal/AbstractMediumSparsityChunk.java b/src/main/java/com/rapidminer/example/table/internal/AbstractMediumSparsityChunk.java
index 4a9f0c23e..6233a1ec9 100644
--- a/src/main/java/com/rapidminer/example/table/internal/AbstractMediumSparsityChunk.java
+++ b/src/main/java/com/rapidminer/example/table/internal/AbstractMediumSparsityChunk.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/internal/AutoColumnUtils.java b/src/main/java/com/rapidminer/example/table/internal/AutoColumnUtils.java
index c3d1defce..62139fef0 100644
--- a/src/main/java/com/rapidminer/example/table/internal/AutoColumnUtils.java
+++ b/src/main/java/com/rapidminer/example/table/internal/AutoColumnUtils.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/internal/ByteArrayColumn.java b/src/main/java/com/rapidminer/example/table/internal/ByteArrayColumn.java
index c89a85451..ac1ad12c6 100644
--- a/src/main/java/com/rapidminer/example/table/internal/ByteArrayColumn.java
+++ b/src/main/java/com/rapidminer/example/table/internal/ByteArrayColumn.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/internal/Column.java b/src/main/java/com/rapidminer/example/table/internal/Column.java
index fefa067ac..c7e2aad0b 100644
--- a/src/main/java/com/rapidminer/example/table/internal/Column.java
+++ b/src/main/java/com/rapidminer/example/table/internal/Column.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/internal/ColumnarExampleTable.java b/src/main/java/com/rapidminer/example/table/internal/ColumnarExampleTable.java
index 4b9e4cef0..743eb1e7a 100644
--- a/src/main/java/com/rapidminer/example/table/internal/ColumnarExampleTable.java
+++ b/src/main/java/com/rapidminer/example/table/internal/ColumnarExampleTable.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/internal/DoubleArrayColumn.java b/src/main/java/com/rapidminer/example/table/internal/DoubleArrayColumn.java
index 930bcb1d2..2ee905eba 100644
--- a/src/main/java/com/rapidminer/example/table/internal/DoubleArrayColumn.java
+++ b/src/main/java/com/rapidminer/example/table/internal/DoubleArrayColumn.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/internal/DoubleAutoColumn.java b/src/main/java/com/rapidminer/example/table/internal/DoubleAutoColumn.java
index 6dc5cde0d..24c089c05 100644
--- a/src/main/java/com/rapidminer/example/table/internal/DoubleAutoColumn.java
+++ b/src/main/java/com/rapidminer/example/table/internal/DoubleAutoColumn.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/internal/DoubleAutoDenseChunk.java b/src/main/java/com/rapidminer/example/table/internal/DoubleAutoDenseChunk.java
index 0297f4539..126976729 100644
--- a/src/main/java/com/rapidminer/example/table/internal/DoubleAutoDenseChunk.java
+++ b/src/main/java/com/rapidminer/example/table/internal/DoubleAutoDenseChunk.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/internal/DoubleAutoSparseChunk.java b/src/main/java/com/rapidminer/example/table/internal/DoubleAutoSparseChunk.java
index 026818715..3f5e1209b 100644
--- a/src/main/java/com/rapidminer/example/table/internal/DoubleAutoSparseChunk.java
+++ b/src/main/java/com/rapidminer/example/table/internal/DoubleAutoSparseChunk.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/internal/DoubleHighSparsityChunk.java b/src/main/java/com/rapidminer/example/table/internal/DoubleHighSparsityChunk.java
index 6f446de72..5dfeff64c 100644
--- a/src/main/java/com/rapidminer/example/table/internal/DoubleHighSparsityChunk.java
+++ b/src/main/java/com/rapidminer/example/table/internal/DoubleHighSparsityChunk.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/internal/DoubleIncompleteAutoColumn.java b/src/main/java/com/rapidminer/example/table/internal/DoubleIncompleteAutoColumn.java
index c52617d29..34780c2f7 100644
--- a/src/main/java/com/rapidminer/example/table/internal/DoubleIncompleteAutoColumn.java
+++ b/src/main/java/com/rapidminer/example/table/internal/DoubleIncompleteAutoColumn.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/internal/DoubleIncompleteDenseChunk.java b/src/main/java/com/rapidminer/example/table/internal/DoubleIncompleteDenseChunk.java
index 543c5abdc..14a4ba6c8 100644
--- a/src/main/java/com/rapidminer/example/table/internal/DoubleIncompleteDenseChunk.java
+++ b/src/main/java/com/rapidminer/example/table/internal/DoubleIncompleteDenseChunk.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/internal/DoubleIncompleteSparseChunk.java b/src/main/java/com/rapidminer/example/table/internal/DoubleIncompleteSparseChunk.java
index 1e57e102f..ce3e02120 100644
--- a/src/main/java/com/rapidminer/example/table/internal/DoubleIncompleteSparseChunk.java
+++ b/src/main/java/com/rapidminer/example/table/internal/DoubleIncompleteSparseChunk.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/internal/DoubleMediumSparsityChunk.java b/src/main/java/com/rapidminer/example/table/internal/DoubleMediumSparsityChunk.java
index 37b8a5c9d..dacd57386 100644
--- a/src/main/java/com/rapidminer/example/table/internal/DoubleMediumSparsityChunk.java
+++ b/src/main/java/com/rapidminer/example/table/internal/DoubleMediumSparsityChunk.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/internal/DoubleSparseChunk.java b/src/main/java/com/rapidminer/example/table/internal/DoubleSparseChunk.java
index 693439b2b..67249f0b3 100644
--- a/src/main/java/com/rapidminer/example/table/internal/DoubleSparseChunk.java
+++ b/src/main/java/com/rapidminer/example/table/internal/DoubleSparseChunk.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/internal/IntegerArrayColumn.java b/src/main/java/com/rapidminer/example/table/internal/IntegerArrayColumn.java
index a1aaf645d..44c2f0540 100644
--- a/src/main/java/com/rapidminer/example/table/internal/IntegerArrayColumn.java
+++ b/src/main/java/com/rapidminer/example/table/internal/IntegerArrayColumn.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/internal/IntegerAutoColumn.java b/src/main/java/com/rapidminer/example/table/internal/IntegerAutoColumn.java
index 69010d6d9..503a50f4f 100644
--- a/src/main/java/com/rapidminer/example/table/internal/IntegerAutoColumn.java
+++ b/src/main/java/com/rapidminer/example/table/internal/IntegerAutoColumn.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/internal/IntegerAutoDenseChunk.java b/src/main/java/com/rapidminer/example/table/internal/IntegerAutoDenseChunk.java
index 364a52707..a075f2114 100644
--- a/src/main/java/com/rapidminer/example/table/internal/IntegerAutoDenseChunk.java
+++ b/src/main/java/com/rapidminer/example/table/internal/IntegerAutoDenseChunk.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/internal/IntegerAutoSparseChunk.java b/src/main/java/com/rapidminer/example/table/internal/IntegerAutoSparseChunk.java
index cf561ed23..5a87f5a22 100644
--- a/src/main/java/com/rapidminer/example/table/internal/IntegerAutoSparseChunk.java
+++ b/src/main/java/com/rapidminer/example/table/internal/IntegerAutoSparseChunk.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/internal/IntegerHighSparsityChunk.java b/src/main/java/com/rapidminer/example/table/internal/IntegerHighSparsityChunk.java
index 1a1a85632..526f36653 100644
--- a/src/main/java/com/rapidminer/example/table/internal/IntegerHighSparsityChunk.java
+++ b/src/main/java/com/rapidminer/example/table/internal/IntegerHighSparsityChunk.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/internal/IntegerIncompleteAutoColumn.java b/src/main/java/com/rapidminer/example/table/internal/IntegerIncompleteAutoColumn.java
index f499f207b..bf7531e4e 100644
--- a/src/main/java/com/rapidminer/example/table/internal/IntegerIncompleteAutoColumn.java
+++ b/src/main/java/com/rapidminer/example/table/internal/IntegerIncompleteAutoColumn.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/internal/IntegerIncompleteDenseChunk.java b/src/main/java/com/rapidminer/example/table/internal/IntegerIncompleteDenseChunk.java
index 95d6d58a8..708cd8b25 100644
--- a/src/main/java/com/rapidminer/example/table/internal/IntegerIncompleteDenseChunk.java
+++ b/src/main/java/com/rapidminer/example/table/internal/IntegerIncompleteDenseChunk.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/internal/IntegerIncompleteSparseChunk.java b/src/main/java/com/rapidminer/example/table/internal/IntegerIncompleteSparseChunk.java
index 2e0f166df..23a803a01 100644
--- a/src/main/java/com/rapidminer/example/table/internal/IntegerIncompleteSparseChunk.java
+++ b/src/main/java/com/rapidminer/example/table/internal/IntegerIncompleteSparseChunk.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/internal/IntegerMediumSparsityChunk.java b/src/main/java/com/rapidminer/example/table/internal/IntegerMediumSparsityChunk.java
index 8f3c8f144..006f46bb0 100644
--- a/src/main/java/com/rapidminer/example/table/internal/IntegerMediumSparsityChunk.java
+++ b/src/main/java/com/rapidminer/example/table/internal/IntegerMediumSparsityChunk.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/internal/IntegerSparseChunk.java b/src/main/java/com/rapidminer/example/table/internal/IntegerSparseChunk.java
index 56d9a6673..f91c22673 100644
--- a/src/main/java/com/rapidminer/example/table/internal/IntegerSparseChunk.java
+++ b/src/main/java/com/rapidminer/example/table/internal/IntegerSparseChunk.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/internal/NaNColumn.java b/src/main/java/com/rapidminer/example/table/internal/NaNColumn.java
index 3ed2507b7..e4ac33c00 100644
--- a/src/main/java/com/rapidminer/example/table/internal/NaNColumn.java
+++ b/src/main/java/com/rapidminer/example/table/internal/NaNColumn.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/table/internal/package-info.java b/src/main/java/com/rapidminer/example/table/internal/package-info.java
index a1bf339ed..60956c6fb 100644
--- a/src/main/java/com/rapidminer/example/table/internal/package-info.java
+++ b/src/main/java/com/rapidminer/example/table/internal/package-info.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/utils/ColumnarExampleSetBuilder.java b/src/main/java/com/rapidminer/example/utils/ColumnarExampleSetBuilder.java
index c37d67018..fe2688637 100644
--- a/src/main/java/com/rapidminer/example/utils/ColumnarExampleSetBuilder.java
+++ b/src/main/java/com/rapidminer/example/utils/ColumnarExampleSetBuilder.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/utils/ExampleSetBuilder.java b/src/main/java/com/rapidminer/example/utils/ExampleSetBuilder.java
index 24ad4b87b..537aa8ee7 100644
--- a/src/main/java/com/rapidminer/example/utils/ExampleSetBuilder.java
+++ b/src/main/java/com/rapidminer/example/utils/ExampleSetBuilder.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/example/utils/ExampleSets.java b/src/main/java/com/rapidminer/example/utils/ExampleSets.java
index 8a8e339dc..92e53bc52 100644
--- a/src/main/java/com/rapidminer/example/utils/ExampleSets.java
+++ b/src/main/java/com/rapidminer/example/utils/ExampleSets.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -28,7 +28,7 @@
import com.rapidminer.example.Attributes;
import com.rapidminer.example.ExampleSet;
import com.rapidminer.example.SimpleAttributes;
-import com.rapidminer.example.set.SimpleExampleSet;
+import com.rapidminer.example.set.AbstractExampleSet;
import com.rapidminer.example.table.BinominalAttribute;
import com.rapidminer.example.table.DateAttribute;
import com.rapidminer.example.table.ExampleTable;
@@ -141,22 +141,24 @@ public static ExampleSet createThreadSafeCopy(ExampleSet set) {
if (set == null) {
throw new IllegalArgumentException("Example set must not be null");
}
-
- boolean foundUnsafeComponent = false;
+
+ // search for unsafe components
+ boolean foundUnsafeComponent;
// check example set implementation
- foundUnsafeComponent |= set.getClass() != SimpleExampleSet.class;
+ boolean threadSafeView = set instanceof AbstractExampleSet && ((AbstractExampleSet) set).isThreadSafeView();
+ foundUnsafeComponent = !threadSafeView;
// check example table implementation
if (!foundUnsafeComponent) {
ExampleTable table = set.getExampleTable();
- foundUnsafeComponent |= table.getClass() != ColumnarExampleTable.class;
+ foundUnsafeComponent = table.getClass() != ColumnarExampleTable.class;
}
// check attribute implementation
if (!foundUnsafeComponent) {
Attributes attributes = set.getAttributes();
- foundUnsafeComponent |= attributes.getClass() != SimpleAttributes.class;
+ foundUnsafeComponent = attributes.getClass() != SimpleAttributes.class;
}
// check individual attributes and attribute transformations
diff --git a/src/main/java/com/rapidminer/example/utils/MemoryExampleSetBuilder.java b/src/main/java/com/rapidminer/example/utils/MemoryExampleSetBuilder.java
index c793c84bf..4b6deeebd 100644
--- a/src/main/java/com/rapidminer/example/utils/MemoryExampleSetBuilder.java
+++ b/src/main/java/com/rapidminer/example/utils/MemoryExampleSetBuilder.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/generator/AbsoluteValueGenerator.java b/src/main/java/com/rapidminer/generator/AbsoluteValueGenerator.java
index ad73b6060..65ed89e41 100644
--- a/src/main/java/com/rapidminer/generator/AbsoluteValueGenerator.java
+++ b/src/main/java/com/rapidminer/generator/AbsoluteValueGenerator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/generator/AlgebraicOrGenerator.java b/src/main/java/com/rapidminer/generator/AlgebraicOrGenerator.java
index 3e33c7b98..2b2db9c8c 100644
--- a/src/main/java/com/rapidminer/generator/AlgebraicOrGenerator.java
+++ b/src/main/java/com/rapidminer/generator/AlgebraicOrGenerator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/generator/AttributePeak.java b/src/main/java/com/rapidminer/generator/AttributePeak.java
index 6bdb676ed..bf81c46e1 100644
--- a/src/main/java/com/rapidminer/generator/AttributePeak.java
+++ b/src/main/java/com/rapidminer/generator/AttributePeak.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/generator/AverageGenerator.java b/src/main/java/com/rapidminer/generator/AverageGenerator.java
index 170a176f3..b7a3b8990 100644
--- a/src/main/java/com/rapidminer/generator/AverageGenerator.java
+++ b/src/main/java/com/rapidminer/generator/AverageGenerator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/generator/BasicArithmeticOperationGenerator.java b/src/main/java/com/rapidminer/generator/BasicArithmeticOperationGenerator.java
index cb0aa9ebd..9b080560a 100644
--- a/src/main/java/com/rapidminer/generator/BasicArithmeticOperationGenerator.java
+++ b/src/main/java/com/rapidminer/generator/BasicArithmeticOperationGenerator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/generator/BinaryNumericalGenerator.java b/src/main/java/com/rapidminer/generator/BinaryNumericalGenerator.java
index 917beaf23..202da8400 100644
--- a/src/main/java/com/rapidminer/generator/BinaryNumericalGenerator.java
+++ b/src/main/java/com/rapidminer/generator/BinaryNumericalGenerator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/generator/ConstantGenerator.java b/src/main/java/com/rapidminer/generator/ConstantGenerator.java
index c9dd03aa5..086b7d68d 100644
--- a/src/main/java/com/rapidminer/generator/ConstantGenerator.java
+++ b/src/main/java/com/rapidminer/generator/ConstantGenerator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/generator/ExponentialFunctionGenerator.java b/src/main/java/com/rapidminer/generator/ExponentialFunctionGenerator.java
index 278385c8a..171fd0590 100644
--- a/src/main/java/com/rapidminer/generator/ExponentialFunctionGenerator.java
+++ b/src/main/java/com/rapidminer/generator/ExponentialFunctionGenerator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/generator/FeatureGenerator.java b/src/main/java/com/rapidminer/generator/FeatureGenerator.java
index fc6a7eab9..a20b0ff10 100644
--- a/src/main/java/com/rapidminer/generator/FeatureGenerator.java
+++ b/src/main/java/com/rapidminer/generator/FeatureGenerator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/generator/FloorCeilGenerator.java b/src/main/java/com/rapidminer/generator/FloorCeilGenerator.java
index 03f6fed47..2f160eaf4 100644
--- a/src/main/java/com/rapidminer/generator/FloorCeilGenerator.java
+++ b/src/main/java/com/rapidminer/generator/FloorCeilGenerator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/generator/GenerationException.java b/src/main/java/com/rapidminer/generator/GenerationException.java
index ecd26266f..0e4505347 100644
--- a/src/main/java/com/rapidminer/generator/GenerationException.java
+++ b/src/main/java/com/rapidminer/generator/GenerationException.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/generator/MinMaxGenerator.java b/src/main/java/com/rapidminer/generator/MinMaxGenerator.java
index b0dd7bb98..0c187ed20 100644
--- a/src/main/java/com/rapidminer/generator/MinMaxGenerator.java
+++ b/src/main/java/com/rapidminer/generator/MinMaxGenerator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/generator/PowerGenerator.java b/src/main/java/com/rapidminer/generator/PowerGenerator.java
index 27538b037..a898cff9c 100644
--- a/src/main/java/com/rapidminer/generator/PowerGenerator.java
+++ b/src/main/java/com/rapidminer/generator/PowerGenerator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/generator/ReciprocalValueGenerator.java b/src/main/java/com/rapidminer/generator/ReciprocalValueGenerator.java
index 56ec7075e..b6040a19d 100644
--- a/src/main/java/com/rapidminer/generator/ReciprocalValueGenerator.java
+++ b/src/main/java/com/rapidminer/generator/ReciprocalValueGenerator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/generator/SignumGenerator.java b/src/main/java/com/rapidminer/generator/SignumGenerator.java
index 201b34f4a..ac6b2c4c5 100644
--- a/src/main/java/com/rapidminer/generator/SignumGenerator.java
+++ b/src/main/java/com/rapidminer/generator/SignumGenerator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/generator/SingularNumericalGenerator.java b/src/main/java/com/rapidminer/generator/SingularNumericalGenerator.java
index 2ab818705..81a7977b9 100644
--- a/src/main/java/com/rapidminer/generator/SingularNumericalGenerator.java
+++ b/src/main/java/com/rapidminer/generator/SingularNumericalGenerator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/generator/SinusFactory.java b/src/main/java/com/rapidminer/generator/SinusFactory.java
index eba89b420..1f1af05c7 100644
--- a/src/main/java/com/rapidminer/generator/SinusFactory.java
+++ b/src/main/java/com/rapidminer/generator/SinusFactory.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/generator/SquareRootGenerator.java b/src/main/java/com/rapidminer/generator/SquareRootGenerator.java
index ca67bb110..c56362641 100644
--- a/src/main/java/com/rapidminer/generator/SquareRootGenerator.java
+++ b/src/main/java/com/rapidminer/generator/SquareRootGenerator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/generator/TrigonometricFunctionGenerator.java b/src/main/java/com/rapidminer/generator/TrigonometricFunctionGenerator.java
index 482d3939d..918086453 100644
--- a/src/main/java/com/rapidminer/generator/TrigonometricFunctionGenerator.java
+++ b/src/main/java/com/rapidminer/generator/TrigonometricFunctionGenerator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/ApplicationFrame.java b/src/main/java/com/rapidminer/gui/ApplicationFrame.java
index 67af77de2..21d739048 100644
--- a/src/main/java/com/rapidminer/gui/ApplicationFrame.java
+++ b/src/main/java/com/rapidminer/gui/ApplicationFrame.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/ApplicationPerspectives.java b/src/main/java/com/rapidminer/gui/ApplicationPerspectives.java
index fec8789b6..74e8d247e 100644
--- a/src/main/java/com/rapidminer/gui/ApplicationPerspectives.java
+++ b/src/main/java/com/rapidminer/gui/ApplicationPerspectives.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/ConditionalAction.java b/src/main/java/com/rapidminer/gui/ConditionalAction.java
index 1485bc8e1..a732cf3bf 100644
--- a/src/main/java/com/rapidminer/gui/ConditionalAction.java
+++ b/src/main/java/com/rapidminer/gui/ConditionalAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/DockableMenu.java b/src/main/java/com/rapidminer/gui/DockableMenu.java
index 6330183af..ff582a159 100644
--- a/src/main/java/com/rapidminer/gui/DockableMenu.java
+++ b/src/main/java/com/rapidminer/gui/DockableMenu.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -18,14 +18,10 @@
*/
package com.rapidminer.gui;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
import java.util.Arrays;
-import java.util.Collections;
import java.util.Comparator;
import java.util.LinkedList;
import java.util.List;
-
import javax.swing.JCheckBoxMenuItem;
import javax.swing.event.MenuEvent;
import javax.swing.event.MenuListener;
@@ -53,6 +49,8 @@ public class DockableMenu extends ResourceMenu {
private static final List HIDE_IN_DOCKABLE_MENU_PREFIX_REGISTRY = new LinkedList<>();
+ private static final String DOCKABLE_HTML = "
%s %s
";
+
/**
* Here you can register prefixes that will be used to test if a {@link DockableState} start
* with the provided prefix and thus won't be shown in the created {@link DockableMenu}.
@@ -95,13 +93,7 @@ private void fill() {
DockableState[] dockables = dockingContext.getDesktopList().get(0).getDockables();
List sorted = new LinkedList<>();
sorted.addAll(Arrays.asList(dockables));
- Collections.sort(sorted, new Comparator() {
-
- @Override
- public int compare(DockableState o1, DockableState o2) {
- return o1.getDockable().getDockKey().getName().compareTo(o2.getDockable().getDockKey().getName());
- }
- });
+ sorted.sort(Comparator.comparing(o -> o.getDockable().getDockKey().getName()));
for (final DockableState state : sorted) {
if (state.getDockable() instanceof DummyDockable) {
continue;
@@ -125,22 +117,18 @@ public int compare(DockableState o1, DockableState o2) {
String text = dockKey.getName();
if (SystemInfoUtilities.getOperatingSystem() != OperatingSystem.OSX) {
// OS X cannot use html in menus so only do it for other OS
- text = "
" + dockKey.getName() + " " + description + "
";
+ text = String.format(DOCKABLE_HTML, dockKey.getName(), description);
}
JCheckBoxMenuItem item = new JCheckBoxMenuItem(text, dockKey.getIcon());
item.setSelected(!state.isClosed());
- item.addActionListener(new ActionListener() {
-
- @Override
- public void actionPerformed(ActionEvent e) {
- if (state.isClosed()) {
- dockingContext.getDesktopList().get(0).addDockable(state.getDockable());
- } else {
- dockingContext.getDesktopList().get(0).close(state.getDockable());
- }
- }
+ item.addActionListener(e -> {
+ if (state.isClosed()) {
+ dockingContext.getDesktopList().get(0).addDockable(state.getDockable());
+ } else {
+ dockingContext.getDesktopList().get(0).close(state.getDockable());
+ }
});
// special handling for results overview dockable in Results perspective
@@ -160,4 +148,23 @@ public void actionPerformed(ActionEvent e) {
public DockingContext getDockingContext() {
return dockingContext;
}
+
+
+ /**
+ * Checks if the given dock key belongs to a dockable that should not appear in the dockable menu.
+ *
+ * @param dockKey
+ * the key to test
+ * @return {@code true} if the key belongs to a dockable that is hidden from the menu; {@code false} otherwise
+ * @since 8.1
+ */
+ public static boolean isDockableHiddenFromMenu(final DockKey dockKey) {
+ for (String prefix : HIDE_IN_DOCKABLE_MENU_PREFIX_REGISTRY) {
+ if (dockKey.getKey().startsWith(prefix)) {
+ return true;
+ }
+ }
+
+ return false;
+ }
}
diff --git a/src/main/java/com/rapidminer/gui/DummyObjectVisualizer.java b/src/main/java/com/rapidminer/gui/DummyObjectVisualizer.java
index fd01bcb29..712aa5911 100644
--- a/src/main/java/com/rapidminer/gui/DummyObjectVisualizer.java
+++ b/src/main/java/com/rapidminer/gui/DummyObjectVisualizer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/EditorCellRenderer.java b/src/main/java/com/rapidminer/gui/EditorCellRenderer.java
index d2e2b3f2b..50ff0561b 100644
--- a/src/main/java/com/rapidminer/gui/EditorCellRenderer.java
+++ b/src/main/java/com/rapidminer/gui/EditorCellRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/ExampleVisualizer.java b/src/main/java/com/rapidminer/gui/ExampleVisualizer.java
index a6366463e..2be77a2ab 100644
--- a/src/main/java/com/rapidminer/gui/ExampleVisualizer.java
+++ b/src/main/java/com/rapidminer/gui/ExampleVisualizer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/GUIInputHandler.java b/src/main/java/com/rapidminer/gui/GUIInputHandler.java
index 7aaeb41b3..dbafcc35c 100644
--- a/src/main/java/com/rapidminer/gui/GUIInputHandler.java
+++ b/src/main/java/com/rapidminer/gui/GUIInputHandler.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/GeneralProcessListener.java b/src/main/java/com/rapidminer/gui/GeneralProcessListener.java
index 5f33e374e..2df6ccfb5 100644
--- a/src/main/java/com/rapidminer/gui/GeneralProcessListener.java
+++ b/src/main/java/com/rapidminer/gui/GeneralProcessListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/LoggedAbstractAction.java b/src/main/java/com/rapidminer/gui/LoggedAbstractAction.java
index 27ef8f734..bc8091e7c 100644
--- a/src/main/java/com/rapidminer/gui/LoggedAbstractAction.java
+++ b/src/main/java/com/rapidminer/gui/LoggedAbstractAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/MainFrame.java b/src/main/java/com/rapidminer/gui/MainFrame.java
index 460e5a501..dd42699cf 100644
--- a/src/main/java/com/rapidminer/gui/MainFrame.java
+++ b/src/main/java/com/rapidminer/gui/MainFrame.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -26,12 +26,12 @@
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.net.InetAddress;
+import java.net.URI;
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.logging.Level;
-
import javax.swing.Action;
import javax.swing.BorderFactory;
import javax.swing.JButton;
@@ -54,14 +54,17 @@
import com.rapidminer.gui.actions.AboutAction;
import com.rapidminer.gui.actions.Actions;
import com.rapidminer.gui.actions.AutoWireAction;
+import com.rapidminer.gui.actions.BrowseAction;
import com.rapidminer.gui.actions.ExitAction;
import com.rapidminer.gui.actions.ExportProcessAction;
import com.rapidminer.gui.actions.ImportDataAction;
import com.rapidminer.gui.actions.ImportProcessAction;
+import com.rapidminer.gui.actions.ManageConfigurablesAction;
import com.rapidminer.gui.actions.NewPerspectiveAction;
import com.rapidminer.gui.actions.PauseAction;
import com.rapidminer.gui.actions.PropagateRealMetaDataAction;
import com.rapidminer.gui.actions.RedoAction;
+import com.rapidminer.gui.actions.RestoreDefaultPerspectiveAction;
import com.rapidminer.gui.actions.RunAction;
import com.rapidminer.gui.actions.SaveAction;
import com.rapidminer.gui.actions.SaveAsAction;
@@ -72,8 +75,11 @@
import com.rapidminer.gui.actions.ValidateAutomaticallyAction;
import com.rapidminer.gui.actions.ValidateProcessAction;
import com.rapidminer.gui.actions.export.ShowPrintAndExportDialogAction;
+import com.rapidminer.gui.actions.search.ActionsGlobalSearch;
+import com.rapidminer.gui.actions.search.ActionsGlobalSearchManager;
import com.rapidminer.gui.actions.startup.NewAction;
import com.rapidminer.gui.actions.startup.OpenAction;
+import com.rapidminer.gui.actions.startup.TutorialAction;
import com.rapidminer.gui.dialog.UnknownParametersInfoDialog;
import com.rapidminer.gui.flow.ErrorTable;
import com.rapidminer.gui.flow.ProcessPanel;
@@ -95,6 +101,7 @@
import com.rapidminer.gui.processeditor.results.ResultDisplay;
import com.rapidminer.gui.processeditor.results.ResultDisplayTools;
import com.rapidminer.gui.properties.OperatorPropertyPanel;
+import com.rapidminer.gui.search.action.GlobalSearchAction;
import com.rapidminer.gui.security.PasswordManager;
import com.rapidminer.gui.tools.ProcessGUITools;
import com.rapidminer.gui.tools.ProgressThread;
@@ -126,7 +133,6 @@
import com.rapidminer.tools.SystemInfoUtilities;
import com.rapidminer.tools.SystemInfoUtilities.OperatingSystem;
import com.rapidminer.tools.config.ConfigurationManager;
-import com.rapidminer.tools.config.gui.ConfigurableDialog;
import com.rapidminer.tools.container.Pair;
import com.rapidminer.tutorial.Tutorial;
import com.rapidminer.tutorial.gui.TutorialBrowser;
@@ -357,45 +363,44 @@ private static final String getFrameTitle() {
public static final int EDIT_MODE = 0;
public static final int RESULTS_MODE = 1;
- public final transient Action AUTO_WIRE = new AutoWireAction(this);
+ public final transient Action AUTO_WIRE = new AutoWireAction();
public final transient Action NEW_ACTION = new NewAction();
public final transient Action OPEN_ACTION = new OpenAction();
public final transient SaveAction SAVE_ACTION = new SaveAction();
public final transient Action SAVE_AS_ACTION = new SaveAsAction();
- public final transient ToggleAction PROPAGATE_REAL_METADATA_ACTION = new PropagateRealMetaDataAction(this);
+ public final transient ToggleAction PROPAGATE_REAL_METADATA_ACTION = new PropagateRealMetaDataAction();
- private final transient Action importDataAction = new ImportDataAction();
+ public final transient Action IMPORT_DATA_ACTION = new ImportDataAction();
public final transient Action IMPORT_PROCESS_ACTION = new ImportProcessAction();
public final transient Action EXPORT_PROCESS_ACTION = new ExportProcessAction();
// ---------- Export as Image/Print actions -----------------
public final transient Action EXPORT_ACTION = new ShowPrintAndExportDialogAction(false);
- public final transient Action EXIT_ACTION = new ExitAction(this);
+ public final transient Action EXIT_ACTION = new ExitAction();
- public final transient RunAction RUN_ACTION = new RunAction(this);
- public final transient Action PAUSE_ACTION = new PauseAction(this);
- public final transient Action STOP_ACTION = new StopAction(this);
- public final transient Action VALIDATE_ACTION = new ValidateProcessAction(this);
+ public final transient RunAction RUN_ACTION = new RunAction();
+ public final transient Action PAUSE_ACTION = new PauseAction();
+ public final transient Action STOP_ACTION = new StopAction();
+ public final transient Action VALIDATE_ACTION = new ValidateProcessAction();
public final transient ToggleAction VALIDATE_AUTOMATICALLY_ACTION = new ValidateAutomaticallyAction();
private transient JButton runRemoteToolbarButton;
- public final transient Action NEW_PERSPECTIVE_ACTION = new NewPerspectiveAction(this);
+ public final transient Action NEW_PERSPECTIVE_ACTION = new NewPerspectiveAction();
+ public final transient Action RESTORE_PERSPECTIVE_ACTION = new RestoreDefaultPerspectiveAction();
public final transient Action SETTINGS_ACTION = new SettingsAction();
- public final transient Action UNDO_ACTION = new UndoAction(this);
- public final transient Action REDO_ACTION = new RedoAction(this);
- public final transient Action MANAGE_CONFIGURABLES_ACTION = new ResourceAction(true, "manage_configurables") {
-
- private static final long serialVersionUID = 1L;
+ public final transient Action UNDO_ACTION = new UndoAction();
+ public final transient Action REDO_ACTION = new RedoAction();
+ public final transient Action MANAGE_CONFIGURABLES_ACTION = new ManageConfigurablesAction();
- @Override
- public void loggedActionPerformed(final ActionEvent e) {
- ConfigurableDialog dialog = new ConfigurableDialog(getProcess());
- dialog.setVisible(true);
- }
- };
+ public final transient Action TUTORIAL_ACTION = new TutorialAction();
+ public final transient Action BROWSE_VIDEOS_ACTION = new BrowseAction("toolbar_resources.help_videos", URI.create("http://redirects.rapidminer.com/app/studio/8.1/getting-started-video/main_tool_bar"));
+ public final transient Action BROWSE_COMMUNITY_ACTION = new BrowseAction("toolbar_resources.help_forum", URI.create("http://redirects.rapidminer.com/app/studio/7.2/forum/main_tool_bar"));
+ public final transient Action BROWSE_DOCUMENTATION_ACTION = new BrowseAction("toolbar_resources.documentation", URI.create("http://redirects.rapidminer.com/app/studio/7.2/documentation/main_tool_bar"));
+ public final transient Action BROWSE_SUPPORT_ACTION = new BrowseAction("toolbar_resources.support", URI.create("http://redirects.rapidminer.com/app/studio/7.2/support/main_tool_bar"));
+ public final transient Action ABOUT_ACTION = new AboutAction();
// --------------------------------------------------------------------------------
@@ -448,6 +453,8 @@ public void loggedActionPerformed(final ActionEvent e) {
*/
private BubbleWindow missingParameterBubble;
+ private transient ActionsGlobalSearchManager actionsGlobalSearchManager;
+
private final JMenuBar menuBar;
private final MainToolBar toolBar;
@@ -633,7 +640,7 @@ public void quit() {
RapidMiner.quit(ExitMode.NORMAL);
}
};
- OSXAdapter.adaptUI(this, SETTINGS_ACTION, new AboutAction(this), quitListener);
+ OSXAdapter.adaptUI(this, SETTINGS_ACTION, new AboutAction(), quitListener);
} catch (Throwable t) {
// catch everything - in case the OSX adapter is called without being on a OS X
// system
@@ -697,11 +704,12 @@ public void quit() {
fileMenu.add(SAVE_ACTION);
fileMenu.add(SAVE_AS_ACTION);
fileMenu.addSeparator();
- fileMenu.add(importDataAction);
+ fileMenu.add(IMPORT_DATA_ACTION);
fileMenu.add(IMPORT_PROCESS_ACTION);
fileMenu.add(EXPORT_PROCESS_ACTION);
menuBar.add(fileMenu);
+
// edit menu
((ResourceAction) actions.INFO_OPERATOR_ACTION).addToActionMap(JComponent.WHEN_FOCUSED, true, true, null,
getProcessPanel().getProcessRenderer(), getOperatorTree());
@@ -736,6 +744,7 @@ public void quit() {
// editMenu.add(actions.MAKE_DIRTY_ACTION);
menuBar.add(editMenu);
+
// process menu
processMenu = new ResourceMenu("process");
processMenu.setMargin(menuBarInsets);
@@ -756,13 +765,16 @@ public void quit() {
processMenu.add(layoutMenu);
menuBar.add(processMenu);
+
// view menu
viewMenu = new ResourceMenu("view");
viewMenu.setMargin(menuBarInsets);
viewMenu.add(new PerspectiveMenu(perspectiveController));
viewMenu.add(NEW_PERSPECTIVE_ACTION);
viewMenu.add(dockableMenu = new DockableMenu(dockingContext));
- viewMenu.add(perspectiveController.getRestoreDefaultAction());
+ viewMenu.add(RESTORE_PERSPECTIVE_ACTION);
+
+
menuBar.add(viewMenu);
// create settings menu (will be added in finishInitialization())
@@ -776,6 +788,13 @@ public void quit() {
// help menu
helpMenu = new ResourceMenu("help");
+ helpMenu.add(TUTORIAL_ACTION);
+ helpMenu.add(BROWSE_VIDEOS_ACTION);
+ helpMenu.add(BROWSE_COMMUNITY_ACTION);
+ helpMenu.add(BROWSE_DOCUMENTATION_ACTION);
+ helpMenu.add(BROWSE_SUPPORT_ACTION);
+ helpMenu.addSeparator();
+ helpMenu.add(ABOUT_ACTION);
// extensions menu
extensionsMenu = new ResourceMenu("extensions");
@@ -789,6 +808,9 @@ public void quit() {
getContentPane().add(getStatusBar(), BorderLayout.SOUTH);
getStatusBar().startClockThread();
+ // initialize Ctrl+F shortcut to start Global Search
+ new GlobalSearchAction();
+
setProcess(new Process(), true);
perspectiveController.getModel().addPerspectiveChangeListener(perspectiveChangeListener);
@@ -834,6 +856,7 @@ public void finishInitialization() {
fileMenu.addSeparator();
fileMenu.add(EXIT_ACTION);
+
// Password Manager
settingsMenu.add(PasswordManager.OPEN_WINDOW);
if (SystemInfoUtilities.getOperatingSystem() != OperatingSystem.OSX || !OSXAdapter.isAdapted()) {
@@ -1635,6 +1658,26 @@ public JToolBar getButtonToolbar() {
return buttonToolbar;
}
+ /**
+ * The {@link com.rapidminer.search.GlobalSearchManager} for {@link ResourceAction}s.
+ *
+ * @return the manager to add resource actions to the Global Search.
+ * @since 8.1
+ */
+ public ActionsGlobalSearchManager getActionsGlobalSearchManager() {
+ return actionsGlobalSearchManager;
+ }
+
+ /**
+ * Prepare adding menu actions to global search. Calling multiple times has no effect.
+ * @since 8.1
+ */
+ protected void initActionsGlobalSearch() {
+ if (actionsGlobalSearchManager == null) {
+ actionsGlobalSearchManager = (ActionsGlobalSearchManager) new ActionsGlobalSearch().getSearchManager();
+ }
+ }
+
/**
* The {@link TutorialSelector} holds the selected {@link Tutorial}.
*
diff --git a/src/main/java/com/rapidminer/gui/MainToolBar.java b/src/main/java/com/rapidminer/gui/MainToolBar.java
index ede753e0a..c0b5067ea 100644
--- a/src/main/java/com/rapidminer/gui/MainToolBar.java
+++ b/src/main/java/com/rapidminer/gui/MainToolBar.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -19,42 +19,35 @@
package com.rapidminer.gui;
import java.awt.Color;
-import java.awt.Component;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
-import java.net.URI;
+import java.awt.Insets;
+import java.awt.event.ComponentAdapter;
+import java.awt.event.ComponentEvent;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Comparator;
import java.util.HashMap;
+import java.util.Iterator;
import java.util.List;
import java.util.Map;
-
import javax.swing.Action;
import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.JButton;
+import javax.swing.JLabel;
import javax.swing.JPanel;
-import com.rapidminer.gui.actions.AboutAction;
-import com.rapidminer.gui.actions.BrowseAction;
-import com.rapidminer.gui.actions.RedoAction;
-import com.rapidminer.gui.actions.UndoAction;
import com.rapidminer.gui.actions.WorkspaceAction;
-import com.rapidminer.gui.actions.startup.TutorialAction;
import com.rapidminer.gui.look.Colors;
-import com.rapidminer.gui.osx.OSXAdapter;
-import com.rapidminer.gui.tools.ResourceActionAdapter;
+import com.rapidminer.gui.search.GlobalSearchPanel;
+import com.rapidminer.gui.tools.ResourceAction;
import com.rapidminer.gui.tools.ResourceLabel;
-import com.rapidminer.gui.tools.components.DropDownPopupButton.DropDownPopupButtonBuilder;
import com.rapidminer.gui.tools.components.composite.PerspectiveToggleGroup;
import com.rapidminer.gui.tools.components.composite.SplitButton;
import com.rapidminer.tools.I18N;
-import com.rapidminer.tools.Observable;
-import com.rapidminer.tools.Observer;
-import com.rapidminer.tools.SystemInfoUtilities;
-import com.rapidminer.tools.SystemInfoUtilities.OperatingSystem;
/**
@@ -68,18 +61,24 @@
*/
public class MainToolBar extends JPanel {
- private static final Dimension PERSPECTIVES_SIZE = new Dimension(120, 32);
+ private static final Dimension PERSPECTIVES_SIZE = new Dimension(100, 32);
private static final long serialVersionUID = 1L;
+ /** How many views should be shown by default as buttons */
+ private static final int DEFAULT_PRIMARY_VISIBLE = 3;
+
/** Split button containing all run actions. */
private SplitButton runActions;
+ /** Panel containing all clickable actions */
+ private JPanel actionsPanel;
+
/** Panel which contains the perspective group and a label */
private JPanel perspectivesPanel;
- /** Panel which contains the resource button */
- private JPanel resourcesPanel;
+ /** Label contained in the {@link #perspectivesPanel} */
+ private final ResourceLabel perspectivesLabel;
/** Displays the available perspectives */
private PerspectiveToggleGroup perspectivesGroup;
@@ -113,15 +112,14 @@ public MainToolBar(final MainFrame mainframe) {
// preferred width.
setLayout(new GridBagLayout());
- GridBagConstraints constrainst = new GridBagConstraints();
+ GridBagConstraints gbc = new GridBagConstraints();
// left column
- constrainst.gridx = 0;
- constrainst.weightx = 1;
- constrainst.fill = GridBagConstraints.HORIZONTAL;
+ gbc.gridx = 0;
+ gbc.weightx = 1;
+ gbc.fill = GridBagConstraints.HORIZONTAL;
// action button panel
- JPanel actionsPanel;
{
FlowLayout actionsLayout = new FlowLayout(FlowLayout.LEFT);
actionsLayout.setVgap(0);
@@ -142,16 +140,6 @@ public MainToolBar(final MainFrame mainframe) {
actionsPanel.add(Box.createRigidArea(new Dimension(10, 0)));
- JButton undoButton = new JButton(new UndoAction(mainframe));
- undoButton.setHideActionText(true);
- actionsPanel.add(undoButton);
-
- JButton redoButton = new JButton(new RedoAction(mainframe));
- redoButton.setHideActionText(true);
- actionsPanel.add(redoButton);
-
- actionsPanel.add(Box.createRigidArea(new Dimension(10, 0)));
-
runActions = new SplitButton(mainframe.RUN_ACTION);
runActions.SetHideActionText(true);
actionsPanel.add(runActions);
@@ -160,13 +148,13 @@ public MainToolBar(final MainFrame mainframe) {
stopButton.setHideActionText(true);
actionsPanel.add(stopButton);
- add(actionsPanel, constrainst);
+ add(actionsPanel, gbc);
}
// middle column
- constrainst.gridx += 1;
- constrainst.weightx = 0;
- constrainst.fill = GridBagConstraints.NONE;
+ gbc.gridx += 1;
+ gbc.weightx = 0;
+ gbc.fill = GridBagConstraints.NONE;
// perspectives panel
{
@@ -175,88 +163,59 @@ public MainToolBar(final MainFrame mainframe) {
perspectivesPanel = new JPanel(perspectiveLayout);
perspectivesPanel.setOpaque(false);
- ResourceLabel viewPerspectiveLabel = new ResourceLabel("workspace_views");
- viewPerspectiveLabel.setForeground(Color.GRAY);
- perspectivesPanel.add(viewPerspectiveLabel);
+ perspectivesLabel = new ResourceLabel("workspace_views");
+ perspectivesLabel.setForeground(Color.GRAY);
+ perspectivesPanel.add(perspectivesLabel);
+ PerspectiveToggleGroup.init();
final PerspectiveController perspectiveController = mainframe.getPerspectiveController();
PerspectiveModel perspectiveModel = perspectiveController.getModel();
- perspectiveModel.addObserver(new Observer>() {
-
- @Override
- public void update(Observable> observable, List perspectives) {
- updatePerspectivePanel(perspectiveController, perspectives);
- Action perspectiveAction = perspectiveActionMap.get(perspectiveName);
- if (perspectiveAction != null) {
- perspectivesGroup.setSelected(perspectiveAction);
- }
+ perspectiveModel.addObserver((observable, perspectives) -> {
+ updatePerspectivePanel(perspectiveController, perspectives);
+ Action perspectiveAction = perspectiveActionMap.get(perspectiveName);
+ if (perspectiveAction != null) {
+ perspectivesGroup.setSelected(perspectiveAction);
}
}, true);
- perspectiveModel.addPerspectiveChangeListener(new PerspectiveChangeListener() {
-
- @Override
- public void perspectiveChangedTo(Perspective perspective) {
- perspectiveName = perspective.getName();
- Action perspectiveAction = perspectiveActionMap.get(perspectiveName);
- if (perspectiveAction != null) {
- perspectivesGroup.setSelected(perspectiveAction);
- }
-
+ perspectiveModel.addPerspectiveChangeListener(perspective -> {
+ perspectiveName = perspective.getName();
+ Action perspectiveAction = perspectiveActionMap.get(perspectiveName);
+ if (perspectiveAction != null) {
+ perspectivesGroup.setSelected(perspectiveAction);
}
- });
+ });
updatePerspectivePanel(perspectiveController, perspectiveController.getModel().getAllPerspectives());
-
- add(perspectivesPanel, constrainst);
+ addComponentListener(new MainToolBarResizer(perspectiveController));
+ add(perspectivesPanel, gbc);
}
- // right column
- constrainst.gridx += 1;
- constrainst.weightx = 1;
- constrainst.fill = GridBagConstraints.HORIZONTAL;
-
- {
- resourcesPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT));
- resourcesPanel.setOpaque(false);
- resourcesPanel.setPreferredSize(actionsPanel.getPreferredSize());
+ // Filler
+ gbc.gridx += 1;
+ gbc.weightx = 1;
+ gbc.fill = GridBagConstraints.HORIZONTAL;
+ add(new JLabel(), gbc);
- resourcesPanel.add(createResourcesButton());
+ // Global Search
+ gbc.gridx += 1;
+ gbc.weightx = 0;
+ gbc.fill = GridBagConstraints.NONE;
+ gbc.insets = new Insets(0, 0, 0, 5);
+ add(GlobalSearchPanel.getInstance(), gbc);
- add(resourcesPanel, constrainst);
- }
+ // help section
+ gbc.gridx += 1;
+ gbc.weightx = 0;
+ gbc.fill = GridBagConstraints.NONE;
}
- /**
- * @return a dropdown button with a menu containing a links to the tutorial, the online
- * documentation, the forum, the support and the about box
- */
- private Component createResourcesButton() {
- DropDownPopupButtonBuilder builder = new DropDownPopupButtonBuilder();
- builder.with(new ResourceActionAdapter("toolbar_resources"));
-
- builder.add(new TutorialAction());
-
- builder.add(new BrowseAction("toolbar_resources.documentation",
- URI.create("http://redirects.rapidminer.com/app/studio/7.2/documentation/main_tool_bar")));
- builder.add(new BrowseAction("toolbar_resources.help_forum",
- URI.create("http://redirects.rapidminer.com/app/studio/7.2/forum/main_tool_bar")));
- builder.add(new BrowseAction("toolbar_resources.support",
- URI.create("http://redirects.rapidminer.com/app/studio/7.2/support/main_tool_bar")));
-
- // put "About RapidMiner Studio" action as last action if not on ox
- if (SystemInfoUtilities.getOperatingSystem() != OperatingSystem.OSX || !OSXAdapter.isAdapted()) {
- builder.addSeparator();
- builder.add(new AboutAction((MainFrame) ApplicationFrame.getApplicationFrame()));
- }
- return builder.build();
- }
public void update() {
List factories = RunActionRegistry.INSTANCE.getFacories();
- for (int i = 0; i < factories.size(); i++) {
+ for (MenuItemFactory factory : factories) {
runActions.getPopupMenu().addSeparator();
- for (MenuItemFactory.MenuEntry entry : factories.get(i).create()) {
+ for (MenuItemFactory.MenuEntry entry : factory.create()) {
if (entry.isAction()) {
runActions.getPopupMenu().add(entry.getAction());
} else if (entry.isMenu()) {
@@ -278,16 +237,17 @@ public void update() {
* all available perspectives
*/
private void updatePerspectivePanel(final PerspectiveController perspectiveController,
- Collection perspectives) {
+ Collection perspectives) {
if (perspectivesGroup != null) {
perspectivesPanel.remove(perspectivesGroup);
}
perspectiveActionMap.clear();
- List primaryActionList = new ArrayList<>();
- List secondaryActionList = new ArrayList<>();
+ List knownActionList = new ArrayList<>();
+ List nonUserActionList = new ArrayList<>();
+ List userDefinedActionList = new ArrayList<>();
for (Perspective p : perspectives) {
String name = p.getName();
- Action action = new WorkspaceAction(perspectiveController, p, name);
+ Action action = new WorkspaceAction(name);
action.putValue(Action.LARGE_ICON_KEY, null);
action.putValue(Action.SMALL_ICON, null);
if (p.isUserDefined()) {
@@ -296,26 +256,187 @@ private void updatePerspectivePanel(final PerspectiveController perspectiveContr
action.putValue(Action.SHORT_DESCRIPTION,
I18N.getMessage(I18N.getGUIBundle(), "gui.action.workspace_user.tip", name));
}
- if (!p.isUserDefined()) {
- primaryActionList.add(action);
- } else {
- secondaryActionList.add(action);
+
+ // Add Design, Result, Model Wizard and Hadoop Data to known actions, since they are supported and should
+ // be in this exact order
+ switch (p.getName()) {
+ case PerspectiveModel.DESIGN:
+ case PerspectiveModel.RESULT:
+ case PerspectiveModel.HADOOP_DATA:
+ knownActionList.add(action);
+ break;
+ case PerspectiveModel.MODEL_WIZARD:
+ // ensure model wizard view is in front of hadoop data view
+ // design and result are the first to be added (see PerspectiveModel#makePredefined), so this will not fail
+ knownActionList.add(2, action);
+ break;
+ default:
+ if (!p.isUserDefined()) {
+ nonUserActionList.add(action);
+ } else {
+ userDefinedActionList.add(action);
+ }
}
+
perspectiveActionMap.put(p.getName(), action);
}
- if (primaryActionList.size() > 1) {
- perspectivesGroup = new PerspectiveToggleGroup(perspectiveController, PERSPECTIVES_SIZE,
- primaryActionList.toArray(new Action[primaryActionList.size()]));
+ nonUserActionList.sort(Comparator.comparing(a -> String.valueOf(a.getValue(ResourceAction.NAME))));
+ userDefinedActionList.sort(Comparator.comparing(a -> String.valueOf(a.getValue(ResourceAction.NAME))));
+
+ // combine actions that might be displayed as their own buttons
+ List displayableActionList = new ArrayList<>(knownActionList);
+ displayableActionList.addAll(nonUserActionList);
+
+ boolean hasUserDefined = !userDefinedActionList.isEmpty();
+ VisibilitySettings visibility = calculateVisibility(displayableActionList.size(), hasUserDefined);
+ // primary actions and secondary actions
+ Action[][] actions = createActionArrays(displayableActionList, visibility.primary);
+
+ perspectivesGroup = null;
+ if (actions[0] != null && actions[0].length > 1) {
+ perspectivesGroup = new PerspectiveToggleGroup(perspectiveController, PERSPECTIVES_SIZE, actions[0]);
}
- if (perspectivesGroup != null && secondaryActionList.size() > 0) {
- perspectivesGroup.addSeconderyActions(secondaryActionList.toArray(new Action[secondaryActionList.size()]));
+ // check for user views to keep order of popup items the same (non-user, create view, user)
+ if (perspectivesGroup != null && (actions[1].length > 0 || hasUserDefined)) {
+ perspectivesGroup.addSeconderyActions(actions[1]);
+ }
+ if (perspectivesGroup != null && hasUserDefined) {
+ perspectivesGroup.addSeconderyActions(userDefinedActionList.toArray(new Action[0]));
}
if (perspectivesGroup != null) {
+ perspectivesLabel.setVisible(visibility.showLabel);
+ if (!visibility.fullMoreButton) {
+ perspectivesGroup.minimizeSecondaryButton();
+ }
perspectivesPanel.add(perspectivesGroup);
perspectivesPanel.validate();
perspectivesPanel.repaint();
}
}
+ /**
+ * Calculates how many actions should be visible (i.e. primary buttons) and if the {@link #perspectivesLabel} and
+ * "More" button (i.e. secondary button) should be visible/minimized. Will return the result in a
+ * {@link VisibilitySettings} object.
+ *
+ * @param numberOfActions
+ * number of displayable actions
+ * @param hasUserDefined
+ * if user defined views are registered
+ * @return the visibility settings
+ * @since 8.1
+ */
+ private VisibilitySettings calculateVisibility(int numberOfActions, boolean hasUserDefined) {
+ int toolBarWidth = getWidth();
+ if (toolBarWidth == 0) {
+ VisibilitySettings visibility = new VisibilitySettings();
+ // not yet initialised; build default (3 primary actions, views label, full "More" button)
+ visibility.primary = numberOfActions;
+ if (visibility.primary > DEFAULT_PRIMARY_VISIBLE) {
+ visibility.primary = DEFAULT_PRIMARY_VISIBLE;
+ }
+ visibility.showLabel = visibility.fullMoreButton = true;
+ return visibility;
+ }
+
+ VisibilitySettings visibility = new VisibilitySettings();
+ int labelWidth = perspectivesLabel.getPreferredSize().width + 5; //insets
+ int moreButtonWidth = PerspectiveToggleGroup.getDefaultSecondaryButtonSize().width;
+ int moreButtonMinWidth = PerspectiveToggleGroup.getMinimizedSecondaryButtonSize().width;
+ int actionsWidth = actionsPanel.getPreferredSize().width;
+ int searchWidth = GlobalSearchPanel.PREFERRED_WIDTH + 5; //insets
+ int availableWidth = toolBarWidth - actionsWidth - searchWidth - 10; //insets?
+
+ // make sure to not calculate too much
+ visibility.primary = Math.min(DEFAULT_PRIMARY_VISIBLE, numberOfActions);
+ if (visibility.primary >= numberOfActions && !hasUserDefined) {
+ // no secondary actions => no "More" button
+ moreButtonWidth = moreButtonMinWidth = 0;
+ }
+
+ int primaryWidthNeeded = visibility.primary * PERSPECTIVES_SIZE.width;
+ if (availableWidth >= labelWidth + primaryWidthNeeded + moreButtonWidth) {
+ // everything can be shown
+ visibility.primary = availableWidth - labelWidth - moreButtonWidth;
+ visibility.primary /= PERSPECTIVES_SIZE.width;
+ visibility.showLabel = visibility.fullMoreButton = true;
+ } else {
+ // check if label should be hidden or "more" button be minimized
+ availableWidth -= primaryWidthNeeded;
+ visibility.showLabel = availableWidth >= labelWidth + moreButtonMinWidth;
+ if (moreButtonMinWidth != 0) {
+ visibility.fullMoreButton = !visibility.showLabel && availableWidth >= moreButtonWidth;
+ }
+ }
+ return visibility;
+ }
+
+ /**
+ * Returns a filled action matrix with all provided actions. Will split the actions according to {@code primaryVisible}.
+ *
+ * @param actionList
+ * list of displayable actions
+ * @param primaryVisible
+ * limit of visible primary actions
+ * @return the filled action matrix
+ * @since 8.1
+ */
+ private Action[][] createActionArrays(List actionList, int primaryVisible) {
+ Action[][] actions = new Action[2][];
+ Iterator actionIterator = actionList.iterator();
+ if (primaryVisible > actionList.size()){
+ primaryVisible = actionList.size();
+ }
+ actions[0] = new Action[primaryVisible];
+ actions[1] = new Action[actionList.size() - primaryVisible];
+ int i = 0;
+ for (; i < primaryVisible; i++) {
+ actions[0][i] = actionIterator.next();
+ }
+ while (actionIterator.hasNext()) {
+ actions[1][i - primaryVisible] = actionIterator.next();
+ i++;
+ }
+ return actions;
+ }
+
+ /**
+ * Simple resize listener for the {@link MainToolBar}. Will update on resize events if {@link #shouldUpdate()}
+ * returns {@code true};
+ *
+ * @author Jan Czogalla
+ * @since 8.1
+ */
+ private class MainToolBarResizer extends ComponentAdapter {
+
+ PerspectiveController perspectiveController;
+
+ MainToolBarResizer(PerspectiveController perspectiveController) {
+ this.perspectiveController = perspectiveController;
+ }
+
+ @Override
+ public void componentResized(ComponentEvent e) {
+ if (e.getComponent() != MainToolBar.this) {
+ return;
+ }
+ if (shouldUpdate()) {
+ updatePerspectivePanel(perspectiveController, perspectiveController.getModel().getAllPerspectives());
+ }
+ }
+
+ /** Whether to update {@link #perspectivesPanel} on resize. */
+ private boolean shouldUpdate() {
+ return true;
+ }
+ }
+
+ /** Simple POJO to store visibility for the {@link #calculateVisibility(int, boolean)} method. */
+ private static class VisibilitySettings {
+ int primary;
+ boolean showLabel;
+ boolean fullMoreButton;
+ }
+
}
diff --git a/src/main/java/com/rapidminer/gui/MenuItemFactory.java b/src/main/java/com/rapidminer/gui/MenuItemFactory.java
index 8f7edeaab..30d8431c3 100644
--- a/src/main/java/com/rapidminer/gui/MenuItemFactory.java
+++ b/src/main/java/com/rapidminer/gui/MenuItemFactory.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/MetaDataUpdateQueue.java b/src/main/java/com/rapidminer/gui/MetaDataUpdateQueue.java
index 7a62893ee..5a4db5303 100644
--- a/src/main/java/com/rapidminer/gui/MetaDataUpdateQueue.java
+++ b/src/main/java/com/rapidminer/gui/MetaDataUpdateQueue.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -63,7 +63,7 @@ public void run() {
public void run() {
getProgressListener().setTotal(100);
getProgressListener().setCompleted(10);
- if (force) {
+ if (force) {
process.getRootOperator().checkAll();
} else {
process.getRootOperator().checkAllExcludingMetaData();
diff --git a/src/main/java/com/rapidminer/gui/OperatorDocLoader.java b/src/main/java/com/rapidminer/gui/OperatorDocLoader.java
index 3033fe37b..62591cb32 100644
--- a/src/main/java/com/rapidminer/gui/OperatorDocLoader.java
+++ b/src/main/java/com/rapidminer/gui/OperatorDocLoader.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/OperatorDocToHtmlConverter.java b/src/main/java/com/rapidminer/gui/OperatorDocToHtmlConverter.java
index fa2633d72..5b9b04cfa 100644
--- a/src/main/java/com/rapidminer/gui/OperatorDocToHtmlConverter.java
+++ b/src/main/java/com/rapidminer/gui/OperatorDocToHtmlConverter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/OperatorDocumentationBrowser.java b/src/main/java/com/rapidminer/gui/OperatorDocumentationBrowser.java
index 4cdece398..ee092b23e 100644
--- a/src/main/java/com/rapidminer/gui/OperatorDocumentationBrowser.java
+++ b/src/main/java/com/rapidminer/gui/OperatorDocumentationBrowser.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/Perspective.java b/src/main/java/com/rapidminer/gui/Perspective.java
index 474a0f2a9..54bc385c1 100644
--- a/src/main/java/com/rapidminer/gui/Perspective.java
+++ b/src/main/java/com/rapidminer/gui/Perspective.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/PerspectiveChangeListener.java b/src/main/java/com/rapidminer/gui/PerspectiveChangeListener.java
index cf0a89ff3..c9a5982e4 100644
--- a/src/main/java/com/rapidminer/gui/PerspectiveChangeListener.java
+++ b/src/main/java/com/rapidminer/gui/PerspectiveChangeListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/PerspectiveController.java b/src/main/java/com/rapidminer/gui/PerspectiveController.java
index 2612609f0..d63056ae0 100644
--- a/src/main/java/com/rapidminer/gui/PerspectiveController.java
+++ b/src/main/java/com/rapidminer/gui/PerspectiveController.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -18,17 +18,18 @@
*/
package com.rapidminer.gui;
-import java.awt.event.ActionEvent;
import java.io.File;
import java.io.FilenameFilter;
import java.util.logging.Level;
-
import javax.swing.Action;
+import javax.swing.ImageIcon;
+import com.rapidminer.gui.actions.WorkspaceAction;
import com.rapidminer.gui.processeditor.ProcessLogTab;
import com.rapidminer.gui.processeditor.results.ResultTab;
-import com.rapidminer.gui.tools.ResourceAction;
+import com.rapidminer.gui.tools.SwingTools;
import com.rapidminer.tools.FileSystemService;
+import com.rapidminer.tools.I18N;
import com.rapidminer.tools.LogService;
import com.rapidminer.tools.Observable;
import com.rapidminer.tools.usagestats.ActionStatisticsCollector;
@@ -55,19 +56,6 @@ public class PerspectiveController {
private final PerspectiveModel model;
- private final Action restoreDefaultAction = new ResourceAction("restore_predefined_perspective_default") {
-
- private static final long serialVersionUID = 1L;
-
- @Override
- public void loggedActionPerformed(final ActionEvent e) {
- if (!getModel().getSelectedPerspective().isUserDefined()) {
- getModel().restoreDefault(getModel().getSelectedPerspective().getName());
- getModel().getSelectedPerspective().apply(context);
- }
- }
- };
-
/**
* Creates a new {@link PerspectiveController} with the given docking context.
*
@@ -100,7 +88,7 @@ public Dockable resolveDockable(final String key) {
/**
* Displays the given perspective, identified by the name.
*
- * @param perspective
+ * @param perspectiveName
* the perspective which should be shown.
*/
public void showPerspective(final String perspectiveName) {
@@ -125,7 +113,7 @@ public void showPerspective(final Perspective perspective) {
ActionStatisticsCollector.getInstance().stopTimer(oldPerspective);
}
perspective.apply(context);
- getRestoreDefaultAction().setEnabled(!perspective.isUserDefined());
+ RapidMinerGUI.getMainFrame().RESTORE_PERSPECTIVE_ACTION.setEnabled(!perspective.isUserDefined());
ActionStatisticsCollector.getInstance().startTimer(perspective, ActionStatisticsCollector.TYPE_PERSPECTIVE,
perspective.getName(), null);
ActionStatisticsCollector.getInstance().log(ActionStatisticsCollector.TYPE_PERSPECTIVE, perspective.getName(),
@@ -278,6 +266,13 @@ public Perspective createUserPerspective(final String name, final boolean show)
return perspective;
}
+ public void restoreDefaultPerspective() {
+ if (!getModel().getSelectedPerspective().isUserDefined()) {
+ getModel().restoreDefault(getModel().getSelectedPerspective().getName());
+ getModel().getSelectedPerspective().apply(context);
+ }
+ }
+
/**
* Getter for the underlying model.
*
@@ -291,9 +286,39 @@ public PerspectiveModel getModel() {
* Getter for the restore default action for a predefined perspective.
*
* @return the restore default {@link Action}
+ * @deprecated use RapidMinerGUI.getMainFrame().RESTORE_PERSPECTIVE_ACTION instead
*/
+ @Deprecated
public Action getRestoreDefaultAction() {
- return restoreDefaultAction;
+ return RapidMinerGUI.getMainFrame().RESTORE_PERSPECTIVE_ACTION;
+ }
+
+ /**
+ * Creates the workspace switch action for the given perspective.
+ *
+ * @param p
+ * the perspective
+ * @return the action, never {@code null}
+ * @since 8.1
+ */
+ public WorkspaceAction createPerspectiveAction(final Perspective p) {
+ String name = p.getName();
+ WorkspaceAction action = new WorkspaceAction(name);
+
+ if (p.isUserDefined()) {
+ action.putValue(Action.ACTION_COMMAND_KEY, "perspective-" + name);
+ action.putValue(Action.NAME, name);
+ ImageIcon createIconSmall = SwingTools
+ .createIcon("16/" + I18N.getMessage(I18N.getGUIBundle(), "gui.action.workspace_user.icon"));
+ ImageIcon createIconLarge = SwingTools
+ .createIcon("24/" + I18N.getMessage(I18N.getGUIBundle(), "gui.action.workspace_user.icon"));
+ action.putValue(Action.LARGE_ICON_KEY, createIconLarge);
+ action.putValue(Action.SMALL_ICON, createIconSmall);
+ action.putValue(Action.SHORT_DESCRIPTION,
+ I18N.getMessage(I18N.getGUIBundle(), "gui.action.workspace_user.tip", name));
+ }
+
+ return action;
}
/**
diff --git a/src/main/java/com/rapidminer/gui/PerspectiveMenu.java b/src/main/java/com/rapidminer/gui/PerspectiveMenu.java
index 73200233f..787345b1c 100644
--- a/src/main/java/com/rapidminer/gui/PerspectiveMenu.java
+++ b/src/main/java/com/rapidminer/gui/PerspectiveMenu.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -21,17 +21,12 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-
-import javax.swing.Action;
import javax.swing.ButtonGroup;
-import javax.swing.ImageIcon;
import javax.swing.JMenuItem;
import javax.swing.JRadioButtonMenuItem;
-import com.rapidminer.gui.actions.WorkspaceAction;
+import com.rapidminer.gui.tools.ResourceAction;
import com.rapidminer.gui.tools.ResourceMenu;
-import com.rapidminer.gui.tools.SwingTools;
-import com.rapidminer.tools.I18N;
import com.rapidminer.tools.Observable;
import com.rapidminer.tools.Observer;
@@ -96,18 +91,8 @@ private void updatePerspectives(List perspectives) {
perspectiveMap.clear();
workspaceMenuGroup = new ButtonGroup();
for (Perspective p : perspectives) {
- String name = p.getName();
- Action action = new WorkspaceAction(PerspectiveMenu.this.perspectiveController, p, name);
- if (p.isUserDefined()) {
- action.putValue(Action.ACTION_COMMAND_KEY, "perspective-" + name);
- action.putValue(Action.NAME, name);
- ImageIcon createIcon = SwingTools
- .createIcon("16/" + I18N.getMessage(I18N.getGUIBundle(), "gui.action.workspace_user.icon"));
- action.putValue(Action.LARGE_ICON_KEY, createIcon);
- action.putValue(Action.SMALL_ICON, createIcon);
- action.putValue(Action.SHORT_DESCRIPTION,
- I18N.getMessage(I18N.getGUIBundle(), "gui.action.workspace_user.tip", name));
- }
+ ResourceAction action = perspectiveController.createPerspectiveAction(p);
+
JMenuItem menuItem = new JRadioButtonMenuItem(action);
add(menuItem);
perspectiveMap.put(p.getName(), menuItem);
diff --git a/src/main/java/com/rapidminer/gui/PerspectiveModel.java b/src/main/java/com/rapidminer/gui/PerspectiveModel.java
index cdb77df40..2ebeccaa8 100644
--- a/src/main/java/com/rapidminer/gui/PerspectiveModel.java
+++ b/src/main/java/com/rapidminer/gui/PerspectiveModel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -49,6 +49,9 @@ public class PerspectiveModel extends AbstractObservable> {
public static final String RESULT = "result";
public static final String DESIGN = "design";
+ public static final String MODEL_WIZARD = "model_wizard";
+ public static final String HADOOP_DATA = "hadoop_data";
+
private final Map perspectives = new LinkedHashMap<>();
private Perspective selectedPerspective;
diff --git a/src/main/java/com/rapidminer/gui/PerspectiveProperties.java b/src/main/java/com/rapidminer/gui/PerspectiveProperties.java
index 6db3373b9..93fd17e45 100644
--- a/src/main/java/com/rapidminer/gui/PerspectiveProperties.java
+++ b/src/main/java/com/rapidminer/gui/PerspectiveProperties.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/Perspectives.java b/src/main/java/com/rapidminer/gui/Perspectives.java
index a807b6b54..5e15e4c0b 100644
--- a/src/main/java/com/rapidminer/gui/Perspectives.java
+++ b/src/main/java/com/rapidminer/gui/Perspectives.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/PerspectivesPanelBar.java b/src/main/java/com/rapidminer/gui/PerspectivesPanelBar.java
index 6d30df3ad..df98f5bc8 100644
--- a/src/main/java/com/rapidminer/gui/PerspectivesPanelBar.java
+++ b/src/main/java/com/rapidminer/gui/PerspectivesPanelBar.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/ProcessThread.java b/src/main/java/com/rapidminer/gui/ProcessThread.java
index 3104dd884..f734f82e1 100644
--- a/src/main/java/com/rapidminer/gui/ProcessThread.java
+++ b/src/main/java/com/rapidminer/gui/ProcessThread.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/RapidMinerGUI.java b/src/main/java/com/rapidminer/gui/RapidMinerGUI.java
index 133d5d819..8b287d387 100644
--- a/src/main/java/com/rapidminer/gui/RapidMinerGUI.java
+++ b/src/main/java/com/rapidminer/gui/RapidMinerGUI.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -45,7 +45,6 @@
import java.util.Map;
import java.util.Properties;
import java.util.logging.Level;
-
import javax.swing.SwingUtilities;
import javax.swing.ToolTipManager;
import javax.swing.UIManager;
@@ -58,6 +57,8 @@
import com.rapidminer.RepositoryProcessLocation;
import com.rapidminer.core.io.data.source.DataSourceFactoryRegistry;
import com.rapidminer.gui.actions.OpenAction;
+import com.rapidminer.gui.actions.search.ActionsGlobalSearch;
+import com.rapidminer.gui.actions.search.ActionsGlobalSearchGUIProvider;
import com.rapidminer.gui.autosave.AutoSave;
import com.rapidminer.gui.dialog.EULADialog;
import com.rapidminer.gui.docking.RapidDockableContainerFactory;
@@ -67,7 +68,11 @@
import com.rapidminer.gui.look.fc.BookmarkIO;
import com.rapidminer.gui.look.ui.RapidDockingUISettings;
import com.rapidminer.gui.plotter.PlotterPanel;
+import com.rapidminer.gui.processeditor.search.OperatorGlobalSearch;
+import com.rapidminer.gui.processeditor.search.OperatorGlobalSearchGUIProvider;
import com.rapidminer.gui.safemode.SafeMode;
+import com.rapidminer.gui.search.GlobalSearchGUIRegistry;
+import com.rapidminer.gui.search.GlobalSearchPanel;
import com.rapidminer.gui.tools.SwingTools;
import com.rapidminer.gui.tools.dialogs.DecisionRememberingConfirmDialog;
import com.rapidminer.gui.tools.logging.LogHandlerModel;
@@ -83,6 +88,10 @@
import com.rapidminer.repository.MalformedRepositoryLocationException;
import com.rapidminer.repository.RepositoryLocation;
import com.rapidminer.repository.RepositoryManager;
+import com.rapidminer.repository.gui.search.RepositoryGlobalSearchGUIProvider;
+import com.rapidminer.repository.search.RepositoryGlobalSearch;
+import com.rapidminer.search.GlobalSearchIndexer;
+import com.rapidminer.search.GlobalSearchRegistry;
import com.rapidminer.security.PluginSandboxPolicy;
import com.rapidminer.security.PluginSecurityManager;
import com.rapidminer.studio.io.data.internal.file.LocalFileDataSourceFactory;
@@ -323,13 +332,22 @@ public synchronized void run(final String openLocation) throws Exception {
RapidMiner.showSplash();
+ RapidMiner.splashMessage("plaf");
+ setupToolTipManager();
+ setupGUI();
+ FontTools.checkAndSetFallbackUIFont();
+
RapidMiner.splashMessage("basic");
+ // initialize Global Search framework
+ GlobalSearchIndexer.INSTANCE.initialize();
+
// initialize RapidMiner
// As side effect this also initialized the ConstraintManager
// with the default product and constraints
RapidMiner.init();
+
// store (possibly new) active license (necessary, since no
// ACTIVE_LICENSE_CHANGED event is fired on startup)
LicenseManagerRegistry.INSTANCE.get().getAllActiveLicenses().forEach((l) -> {
@@ -351,11 +369,7 @@ public synchronized void run(final String openLocation) throws Exception {
LogModelRegistry.INSTANCE.register(defaultLogModel);
RapidMiner.splashMessage("workspace");
- RapidMiner.splashMessage("plaf");
- setupToolTipManager();
- setupGUI();
- FontTools.checkAndSetFallbackUIFont();
// check whether current EULA has been accepted
if (!EULADialog.getEULAAccepted()) {
@@ -387,6 +401,9 @@ public void run() {
});
RapidMiner.splashMessage("gui_properties");
loadGUIProperties(mainFrame);
+
+ // initialize Global Search for actions
+ mainFrame.initActionsGlobalSearch();
RapidMiner.splashMessage("plugin_gui");
Plugin.initPluginGuis(mainFrame);
@@ -428,6 +445,20 @@ public void run() {
// otherwise the last extension log is active
mainFrame.getLogViewer().getLogSelectionModel().setSelectedLogModel(RapidMinerGUI.getDefaultLogModel());
+ // Global Search GUI Provider initialization
+ if (GlobalSearchRegistry.INSTANCE.getSearchCategoryById(OperatorGlobalSearch.CATEGORY_ID) != null) {
+ GlobalSearchGUIRegistry.INSTANCE.registerSearchVisualizationProvider(GlobalSearchRegistry.INSTANCE.getSearchCategoryById(
+ OperatorGlobalSearch.CATEGORY_ID), new OperatorGlobalSearchGUIProvider());
+ }
+ if (GlobalSearchRegistry.INSTANCE.getSearchCategoryById(RepositoryGlobalSearch.CATEGORY_ID) != null) {
+ GlobalSearchGUIRegistry.INSTANCE.registerSearchVisualizationProvider(GlobalSearchRegistry.INSTANCE.getSearchCategoryById(
+ RepositoryGlobalSearch.CATEGORY_ID), new RepositoryGlobalSearchGUIProvider());
+ }
+ if (GlobalSearchRegistry.INSTANCE.getSearchCategoryById(ActionsGlobalSearch.CATEGORY_ID) != null) {
+ GlobalSearchGUIRegistry.INSTANCE.registerSearchVisualizationProvider(GlobalSearchRegistry.INSTANCE.getSearchCategoryById(
+ ActionsGlobalSearch.CATEGORY_ID), new ActionsGlobalSearchGUIProvider());
+ }
+
RapidMiner.hideSplash();
// inform listeners that the Splash screen was hidden
@@ -439,6 +470,9 @@ public void run() {
}
}
+ // init visualization after extensions had the chance to add their GUI providers as well
+ GlobalSearchPanel.getInstance().initializeSearchResultVisualization();
+
UsageStatsScheduler.init();
if (openLocation != null) {
diff --git a/src/main/java/com/rapidminer/gui/RunActionRegistry.java b/src/main/java/com/rapidminer/gui/RunActionRegistry.java
index 71f250550..356df1101 100644
--- a/src/main/java/com/rapidminer/gui/RunActionRegistry.java
+++ b/src/main/java/com/rapidminer/gui/RunActionRegistry.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/ToolbarGUIStartupListener.java b/src/main/java/com/rapidminer/gui/ToolbarGUIStartupListener.java
index 0e0be9fb1..99edb8414 100644
--- a/src/main/java/com/rapidminer/gui/ToolbarGUIStartupListener.java
+++ b/src/main/java/com/rapidminer/gui/ToolbarGUIStartupListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/actions/AboutAction.java b/src/main/java/com/rapidminer/gui/actions/AboutAction.java
index 62ff00b1d..00a6a0f48 100644
--- a/src/main/java/com/rapidminer/gui/actions/AboutAction.java
+++ b/src/main/java/com/rapidminer/gui/actions/AboutAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -23,6 +23,7 @@
import com.rapidminer.RapidMiner;
import com.rapidminer.core.license.ProductConstraintManager;
import com.rapidminer.gui.MainFrame;
+import com.rapidminer.gui.RapidMinerGUI;
import com.rapidminer.gui.tools.ResourceAction;
import com.rapidminer.gui.tools.dialogs.AboutBox;
@@ -34,17 +35,24 @@
public class AboutAction extends ResourceAction {
private static final long serialVersionUID = 1L;
- private MainFrame mainFrame;
- public AboutAction(MainFrame mainFrame) {
+
+ public AboutAction() {
super("about");
- this.mainFrame = mainFrame;
setCondition(EDIT_IN_PROGRESS, DONT_CARE);
}
+ /**
+ * @deprecated use {@link #AboutAction()} instead
+ */
+ @Deprecated
+ public AboutAction(MainFrame mainFrame) {
+ this();
+ }
+
@Override
public void loggedActionPerformed(ActionEvent e) {
- new AboutBox(mainFrame, RapidMiner.getLongVersion(), ProductConstraintManager.INSTANCE.getActiveLicense())
+ new AboutBox(RapidMinerGUI.getMainFrame(), RapidMiner.getLongVersion(), ProductConstraintManager.INSTANCE.getActiveLicense())
.setVisible(true);
}
diff --git a/src/main/java/com/rapidminer/gui/actions/Actions.java b/src/main/java/com/rapidminer/gui/actions/Actions.java
index 34730cba2..05369e2cc 100644
--- a/src/main/java/com/rapidminer/gui/actions/Actions.java
+++ b/src/main/java/com/rapidminer/gui/actions/Actions.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -94,9 +94,9 @@ public void loggedActionPerformed(ActionEvent e) {
new ToggleBreakpointItem(this, BreakpointListener.BREAKPOINT_BEFORE),
new ToggleBreakpointItem(this, BreakpointListener.BREAKPOINT_AFTER) };
- public transient final ToggleAllBreakpointsItem TOGGLE_ALL_BREAKPOINTS = new ToggleAllBreakpointsItem(this);
+ public final ToggleAllBreakpointsItem TOGGLE_ALL_BREAKPOINTS = new ToggleAllBreakpointsItem();
- public transient final Action MAKE_DIRTY_ACTION = new ResourceAction(true, "make_dirty") {
+ public final Action MAKE_DIRTY_ACTION = new ResourceAction(true, "make_dirty") {
private static final long serialVersionUID = -1260942717363137733L;
@@ -112,7 +112,7 @@ public void loggedActionPerformed(ActionEvent e) {
}
};
- private transient final Action SHOW_PROBLEM_ACTION = new ResourceAction(true, "show_potential_problem") {
+ private final Action SHOW_PROBLEM_ACTION = new ResourceAction(true, "show_potential_problem") {
private static final long serialVersionUID = -1260942717363137733L;
diff --git a/src/main/java/com/rapidminer/gui/actions/AttributeDescriptionFileWizardAction.java b/src/main/java/com/rapidminer/gui/actions/AttributeDescriptionFileWizardAction.java
index f802211f3..60b56027a 100644
--- a/src/main/java/com/rapidminer/gui/actions/AttributeDescriptionFileWizardAction.java
+++ b/src/main/java/com/rapidminer/gui/actions/AttributeDescriptionFileWizardAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/actions/AttributeEditorAction.java b/src/main/java/com/rapidminer/gui/actions/AttributeEditorAction.java
index a90f1d387..501c0ff92 100644
--- a/src/main/java/com/rapidminer/gui/actions/AttributeEditorAction.java
+++ b/src/main/java/com/rapidminer/gui/actions/AttributeEditorAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/actions/AutoWireAction.java b/src/main/java/com/rapidminer/gui/actions/AutoWireAction.java
index ca5cccf1f..9dfbe9cc3 100644
--- a/src/main/java/com/rapidminer/gui/actions/AutoWireAction.java
+++ b/src/main/java/com/rapidminer/gui/actions/AutoWireAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -21,6 +21,7 @@
import java.awt.event.ActionEvent;
import com.rapidminer.gui.MainFrame;
+import com.rapidminer.gui.RapidMinerGUI;
import com.rapidminer.gui.tools.EditBlockingProgressThread;
import com.rapidminer.gui.tools.ResourceAction;
import com.rapidminer.operator.ExecutionUnit;
@@ -39,12 +40,18 @@ public class AutoWireAction extends ResourceAction {
private static final long serialVersionUID = -4597160351305617508L;
- private final MainFrame mainFrame;
- public AutoWireAction(MainFrame mainFrame) {
+ public AutoWireAction() {
super(true, "wire");
setCondition(OPERATOR_SELECTED, MANDATORY);
- this.mainFrame = mainFrame;
+ }
+
+ /**
+ * @deprecated use {@link #AutoWireAction()} instead
+ */
+ @Deprecated
+ public AutoWireAction(MainFrame mainFrame) {
+ this();
}
@Override
@@ -53,7 +60,7 @@ public void loggedActionPerformed(ActionEvent e) {
@Override
public void execute() {
- Operator op = mainFrame.getFirstSelectedOperator();
+ Operator op = RapidMinerGUI.getMainFrame().getFirstSelectedOperator();
if (op == null) {
return;
}
diff --git a/src/main/java/com/rapidminer/gui/actions/BrowseAction.java b/src/main/java/com/rapidminer/gui/actions/BrowseAction.java
index c801ef087..c69a98889 100644
--- a/src/main/java/com/rapidminer/gui/actions/BrowseAction.java
+++ b/src/main/java/com/rapidminer/gui/actions/BrowseAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/actions/CloseAllResultsAction.java b/src/main/java/com/rapidminer/gui/actions/CloseAllResultsAction.java
index bcc2f44ad..ce8a4e482 100644
--- a/src/main/java/com/rapidminer/gui/actions/CloseAllResultsAction.java
+++ b/src/main/java/com/rapidminer/gui/actions/CloseAllResultsAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/actions/ConnectPortToRepositoryAction.java b/src/main/java/com/rapidminer/gui/actions/ConnectPortToRepositoryAction.java
index 40f4a1bc4..f83f8ddcb 100644
--- a/src/main/java/com/rapidminer/gui/actions/ConnectPortToRepositoryAction.java
+++ b/src/main/java/com/rapidminer/gui/actions/ConnectPortToRepositoryAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/actions/EditViewAction.java b/src/main/java/com/rapidminer/gui/actions/EditViewAction.java
index da75de83e..c1d3a6d6d 100644
--- a/src/main/java/com/rapidminer/gui/actions/EditViewAction.java
+++ b/src/main/java/com/rapidminer/gui/actions/EditViewAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/actions/ExitAction.java b/src/main/java/com/rapidminer/gui/actions/ExitAction.java
index 726139e14..68db00377 100644
--- a/src/main/java/com/rapidminer/gui/actions/ExitAction.java
+++ b/src/main/java/com/rapidminer/gui/actions/ExitAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -18,11 +18,12 @@
*/
package com.rapidminer.gui.actions;
+import java.awt.event.ActionEvent;
+
import com.rapidminer.gui.MainFrame;
+import com.rapidminer.gui.RapidMinerGUI;
import com.rapidminer.gui.tools.ResourceAction;
-import java.awt.event.ActionEvent;
-
/**
* Start the corresponding action.
@@ -33,16 +34,22 @@ public class ExitAction extends ResourceAction {
private static final long serialVersionUID = -6213819388535936519L;
- private MainFrame mainFrame;
- public ExitAction(MainFrame mainFrame) {
+ public ExitAction() {
super("exit");
- this.mainFrame = mainFrame;
setCondition(EDIT_IN_PROGRESS, DONT_CARE);
}
+ /**
+ * @deprecated use {@link #ExitAction()} instead
+ */
+ @Deprecated
+ public ExitAction(MainFrame mainFrame) {
+ this();
+ }
+
@Override
public void loggedActionPerformed(ActionEvent e) {
- this.mainFrame.exit(false);
+ RapidMinerGUI.getMainFrame().exit(false);
}
}
diff --git a/src/main/java/com/rapidminer/gui/actions/ExportProcessAction.java b/src/main/java/com/rapidminer/gui/actions/ExportProcessAction.java
index 0786eb486..650926d3a 100644
--- a/src/main/java/com/rapidminer/gui/actions/ExportProcessAction.java
+++ b/src/main/java/com/rapidminer/gui/actions/ExportProcessAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/actions/ExtendedMouseClickedAdapter.java b/src/main/java/com/rapidminer/gui/actions/ExtendedMouseClickedAdapter.java
index ca5f229db..cc693cd0b 100644
--- a/src/main/java/com/rapidminer/gui/actions/ExtendedMouseClickedAdapter.java
+++ b/src/main/java/com/rapidminer/gui/actions/ExtendedMouseClickedAdapter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/actions/ImportDataAction.java b/src/main/java/com/rapidminer/gui/actions/ImportDataAction.java
index bae722ec9..b055be8c8 100644
--- a/src/main/java/com/rapidminer/gui/actions/ImportDataAction.java
+++ b/src/main/java/com/rapidminer/gui/actions/ImportDataAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/actions/ImportProcessAction.java b/src/main/java/com/rapidminer/gui/actions/ImportProcessAction.java
index 55dafc8d6..fd9649f20 100644
--- a/src/main/java/com/rapidminer/gui/actions/ImportProcessAction.java
+++ b/src/main/java/com/rapidminer/gui/actions/ImportProcessAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/actions/ManageConfigurablesAction.java b/src/main/java/com/rapidminer/gui/actions/ManageConfigurablesAction.java
new file mode 100644
index 000000000..917612e4f
--- /dev/null
+++ b/src/main/java/com/rapidminer/gui/actions/ManageConfigurablesAction.java
@@ -0,0 +1,49 @@
+/**
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
+ *
+ * Complete list of developers available at our web site:
+ *
+ * http://rapidminer.com
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the
+ * GNU Affero General Public License as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * 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/.
+*/
+package com.rapidminer.gui.actions;
+
+import java.awt.event.ActionEvent;
+
+import com.rapidminer.gui.RapidMinerGUI;
+import com.rapidminer.gui.tools.ResourceAction;
+import com.rapidminer.tools.config.gui.ConfigurableDialog;
+
+
+/**
+ * Start the corresponding action.
+ *
+ * @author Marco Boeck
+ * @since 8.1
+ */
+public class ManageConfigurablesAction extends ResourceAction {
+
+ private static final long serialVersionUID = 1L;
+
+ public ManageConfigurablesAction() {
+ super(true, "manage_configurables");
+ }
+
+ /**
+ * Opens the configurables dialog
+ */
+ @Override
+ public void loggedActionPerformed(ActionEvent e) {
+ new ConfigurableDialog(RapidMinerGUI.getMainFrame().getProcess()).setVisible(true);
+ }
+}
diff --git a/src/main/java/com/rapidminer/gui/actions/ManagePasswordsAction.java b/src/main/java/com/rapidminer/gui/actions/ManagePasswordsAction.java
new file mode 100644
index 000000000..0ba54233b
--- /dev/null
+++ b/src/main/java/com/rapidminer/gui/actions/ManagePasswordsAction.java
@@ -0,0 +1,49 @@
+/**
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
+ *
+ * Complete list of developers available at our web site:
+ *
+ * http://rapidminer.com
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the
+ * GNU Affero General Public License as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * 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/.
+*/
+package com.rapidminer.gui.actions;
+
+import java.awt.event.ActionEvent;
+
+import com.rapidminer.gui.security.PasswordManager;
+import com.rapidminer.gui.tools.ResourceAction;
+
+
+/**
+ * Start the corresponding action.
+ *
+ * @author Marco Boeck
+ * @since 8.1
+ */
+public class ManagePasswordsAction extends ResourceAction {
+
+ private static final long serialVersionUID = 1L;
+
+ public ManagePasswordsAction() {
+ super("password_manager");
+ setCondition(EDIT_IN_PROGRESS, DONT_CARE);
+ }
+
+ /**
+ * Opens the settings dialog
+ */
+ @Override
+ public void loggedActionPerformed(ActionEvent e) {
+ new PasswordManager().setVisible(true);
+ }
+}
diff --git a/src/main/java/com/rapidminer/gui/actions/NewAction.java b/src/main/java/com/rapidminer/gui/actions/NewAction.java
index 566beca09..014479c71 100644
--- a/src/main/java/com/rapidminer/gui/actions/NewAction.java
+++ b/src/main/java/com/rapidminer/gui/actions/NewAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/actions/NewPerspectiveAction.java b/src/main/java/com/rapidminer/gui/actions/NewPerspectiveAction.java
index d4ba71b80..0838a5e94 100644
--- a/src/main/java/com/rapidminer/gui/actions/NewPerspectiveAction.java
+++ b/src/main/java/com/rapidminer/gui/actions/NewPerspectiveAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -23,6 +23,7 @@
import com.rapidminer.gui.ApplicationFrame;
import com.rapidminer.gui.MainFrame;
import com.rapidminer.gui.PerspectiveController;
+import com.rapidminer.gui.RapidMinerGUI;
import com.rapidminer.gui.tools.ResourceAction;
import com.rapidminer.gui.tools.SwingTools;
import com.rapidminer.gui.tools.dialogs.InputDialog;
@@ -64,20 +65,26 @@ protected void ok() {
}
}
- private final MainFrame mainFrame;
- public NewPerspectiveAction(MainFrame mainFrame) {
+ public NewPerspectiveAction() {
super("new_perspective");
- this.mainFrame = mainFrame;
setCondition(EDIT_IN_PROGRESS, DONT_CARE);
}
+ /**
+ * @deprecated use {@link #NewPerspectiveAction()} instead
+ */
+ @Deprecated
+ public NewPerspectiveAction(MainFrame mainFrame) {
+ this();
+ }
+
@Override
public void loggedActionPerformed(ActionEvent e) {
- NewPerspectiveDialog dialog = new NewPerspectiveDialog(mainFrame.getPerspectiveController());
+ NewPerspectiveDialog dialog = new NewPerspectiveDialog(RapidMinerGUI.getMainFrame().getPerspectiveController());
dialog.setVisible(true);
if (dialog.isOk()) {
- mainFrame.getPerspectiveController().createUserPerspective(dialog.getInputText(), true);
+ RapidMinerGUI.getMainFrame().getPerspectiveController().createUserPerspective(dialog.getInputText(), true);
}
}
}
diff --git a/src/main/java/com/rapidminer/gui/actions/OpenAction.java b/src/main/java/com/rapidminer/gui/actions/OpenAction.java
index 343aa56fc..9e5d6db61 100644
--- a/src/main/java/com/rapidminer/gui/actions/OpenAction.java
+++ b/src/main/java/com/rapidminer/gui/actions/OpenAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/actions/OperatorActionContext.java b/src/main/java/com/rapidminer/gui/actions/OperatorActionContext.java
index da81cc18d..5e0cbf25c 100644
--- a/src/main/java/com/rapidminer/gui/actions/OperatorActionContext.java
+++ b/src/main/java/com/rapidminer/gui/actions/OperatorActionContext.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/actions/OperatorActionFactory.java b/src/main/java/com/rapidminer/gui/actions/OperatorActionFactory.java
index a9df70e6b..16e9abb65 100644
--- a/src/main/java/com/rapidminer/gui/actions/OperatorActionFactory.java
+++ b/src/main/java/com/rapidminer/gui/actions/OperatorActionFactory.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/actions/PauseAction.java b/src/main/java/com/rapidminer/gui/actions/PauseAction.java
index b4783a919..90120720a 100644
--- a/src/main/java/com/rapidminer/gui/actions/PauseAction.java
+++ b/src/main/java/com/rapidminer/gui/actions/PauseAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -18,11 +18,12 @@
*/
package com.rapidminer.gui.actions;
+import java.awt.event.ActionEvent;
+
import com.rapidminer.gui.MainFrame;
+import com.rapidminer.gui.RapidMinerGUI;
import com.rapidminer.gui.tools.ResourceAction;
-import java.awt.event.ActionEvent;
-
/**
* Start the corresponding action.
@@ -33,16 +34,20 @@ public class PauseAction extends ResourceAction {
private static final long serialVersionUID = -8416546573798401295L;
- private final MainFrame mainFrame;
-
- public PauseAction(MainFrame mainFrame) {
+ public PauseAction() {
super("pause");
- this.mainFrame = mainFrame;
setCondition(PROCESS_RUNNING, MANDATORY);
}
+ /**
+ * @deprecated use {@link #PauseAction()} instead
+ */
+ @Deprecated
+ public PauseAction(MainFrame mainFrame) {
+ this();
+ }
@Override
public void loggedActionPerformed(ActionEvent e) {
- mainFrame.pauseProcess();
+ RapidMinerGUI.getMainFrame().pauseProcess();
}
}
diff --git a/src/main/java/com/rapidminer/gui/actions/PrintAction.java b/src/main/java/com/rapidminer/gui/actions/PrintAction.java
index ac4bc7137..00a2a351f 100644
--- a/src/main/java/com/rapidminer/gui/actions/PrintAction.java
+++ b/src/main/java/com/rapidminer/gui/actions/PrintAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/actions/PropagateRealMetaDataAction.java b/src/main/java/com/rapidminer/gui/actions/PropagateRealMetaDataAction.java
index f9aa1f7ef..ec4a2356f 100644
--- a/src/main/java/com/rapidminer/gui/actions/PropagateRealMetaDataAction.java
+++ b/src/main/java/com/rapidminer/gui/actions/PropagateRealMetaDataAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -21,6 +21,7 @@
import java.awt.event.ActionEvent;
import com.rapidminer.gui.MainFrame;
+import com.rapidminer.gui.RapidMinerGUI;
import com.rapidminer.operator.DebugMode;
@@ -31,23 +32,35 @@
*/
public class PropagateRealMetaDataAction extends ToggleAction {
- private MainFrame mainFrame;
-
private static final long serialVersionUID = -1317229512005928906L;
- public PropagateRealMetaDataAction(MainFrame mainFrame) {
+
+ public PropagateRealMetaDataAction() {
super(true, "process_debug_mode");
+ }
- this.mainFrame = mainFrame;
+ /**
+ * @deprecated use {@link #PropagateRealMetaDataAction()} instead
+ */
+ @Deprecated
+ public PropagateRealMetaDataAction(MainFrame mainFrame) {
+ this();
}
@Override
public void actionToggled(ActionEvent e) {
- if (isSelected()) {
- mainFrame.getProcess().setDebugMode(DebugMode.COLLECT_METADATA_AFTER_EXECUTION);
+ if (!isSelected()) {
+ RapidMinerGUI.getMainFrame().getProcess().setDebugMode(DebugMode.COLLECT_METADATA_AFTER_EXECUTION);
} else {
- mainFrame.getProcess().setDebugMode(DebugMode.DEBUG_OFF);
+ RapidMinerGUI.getMainFrame().getProcess().setDebugMode(DebugMode.DEBUG_OFF);
}
+
+ // state changed, update Global Search to keep in sync
+ addToGlobalSearch();
}
+ @Override
+ public boolean isSelected() {
+ return RapidMinerGUI.getMainFrame() != null && RapidMinerGUI.getMainFrame().getProcess().getDebugMode() == DebugMode.COLLECT_METADATA_AFTER_EXECUTION;
+ }
}
diff --git a/src/main/java/com/rapidminer/gui/actions/RedoAction.java b/src/main/java/com/rapidminer/gui/actions/RedoAction.java
index 4633af1c6..de545aaf6 100644
--- a/src/main/java/com/rapidminer/gui/actions/RedoAction.java
+++ b/src/main/java/com/rapidminer/gui/actions/RedoAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -18,11 +18,12 @@
*/
package com.rapidminer.gui.actions;
+import java.awt.event.ActionEvent;
+
import com.rapidminer.gui.MainFrame;
+import com.rapidminer.gui.RapidMinerGUI;
import com.rapidminer.gui.tools.ResourceAction;
-import java.awt.event.ActionEvent;
-
/**
* Start the corresponding action.
@@ -33,17 +34,23 @@ public class RedoAction extends ResourceAction {
private static final long serialVersionUID = -3106523347321697652L;
- private MainFrame mainFrame;
- public RedoAction(MainFrame mainFrame) {
+ public RedoAction() {
super("redo");
- this.mainFrame = mainFrame;
setCondition(EDIT_IN_PROGRESS, DISALLOWED);
setCondition(PROCESS_RENDERER_HAS_REDO_STEPS, MANDATORY);
}
+ /**
+ * @deprecated use {@link #RedoAction()} instead
+ */
+ @Deprecated
+ public RedoAction(MainFrame mainFrame) {
+ this();
+ }
+
@Override
public void loggedActionPerformed(ActionEvent e) {
- this.mainFrame.redo();
+ RapidMinerGUI.getMainFrame().redo();
}
}
diff --git a/src/main/java/com/rapidminer/gui/actions/RestoreDefaultPerspectiveAction.java b/src/main/java/com/rapidminer/gui/actions/RestoreDefaultPerspectiveAction.java
new file mode 100644
index 000000000..a030e5d30
--- /dev/null
+++ b/src/main/java/com/rapidminer/gui/actions/RestoreDefaultPerspectiveAction.java
@@ -0,0 +1,48 @@
+/**
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
+ *
+ * Complete list of developers available at our web site:
+ *
+ * http://rapidminer.com
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the
+ * GNU Affero General Public License as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * 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/.
+*/
+package com.rapidminer.gui.actions;
+
+import java.awt.event.ActionEvent;
+
+import com.rapidminer.gui.RapidMinerGUI;
+import com.rapidminer.gui.tools.ResourceAction;
+
+
+/**
+ * Start the corresponding action.
+ *
+ * @author Marco Boeck
+ * @since 8.1
+ */
+public class RestoreDefaultPerspectiveAction extends ResourceAction {
+
+ private static final long serialVersionUID = 1L;
+
+ public RestoreDefaultPerspectiveAction() {
+ super( "restore_predefined_perspective_default");
+ }
+
+ /**
+ * Restore the default perspective
+ */
+ @Override
+ public void loggedActionPerformed(ActionEvent e) {
+ RapidMinerGUI.getMainFrame().getPerspectiveController().restoreDefaultPerspective();
+ }
+}
diff --git a/src/main/java/com/rapidminer/gui/actions/RunAction.java b/src/main/java/com/rapidminer/gui/actions/RunAction.java
index 3b614dfca..1edcb6d8b 100644
--- a/src/main/java/com/rapidminer/gui/actions/RunAction.java
+++ b/src/main/java/com/rapidminer/gui/actions/RunAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -19,11 +19,11 @@
package com.rapidminer.gui.actions;
import java.awt.event.ActionEvent;
-
import javax.swing.Icon;
import com.rapidminer.Process;
import com.rapidminer.gui.MainFrame;
+import com.rapidminer.gui.RapidMinerGUI;
import com.rapidminer.gui.tools.ResourceAction;
import com.rapidminer.gui.tools.SwingTools;
@@ -42,22 +42,27 @@ public class RunAction extends ResourceAction {
private static final Icon ICON_RESUME_SMALL = SwingTools.createIcon("16/media_step_forward.png");
private static final Icon ICON_RESUME_LARGE = SwingTools.createIcon("24/media_step_forward.png");
- private final MainFrame mainFrame;
-
- public RunAction(MainFrame mainFrame) {
+ public RunAction() {
super("run");
- this.mainFrame = mainFrame;
setCondition(PROCESS_RUNNING, DISALLOWED);
setCondition(EDIT_IN_PROGRESS, DISALLOWED);
}
+ /**
+ * @deprecated use {@link #RunAction()} instead
+ */
+ @Deprecated
+ public RunAction(MainFrame mainFrame) {
+ this();
+ }
+
@Override
public void loggedActionPerformed(ActionEvent e) {
// small hack to force currently active parameter editor to save the changes due to focus
// lost event
- mainFrame.getProcessPanel().requestFocus();
+ RapidMinerGUI.getMainFrame().getProcessPanel().requestFocus();
- mainFrame.runProcess();
+ RapidMinerGUI.getMainFrame().runProcess();
}
public void setState(int processState) {
diff --git a/src/main/java/com/rapidminer/gui/actions/SaveAction.java b/src/main/java/com/rapidminer/gui/actions/SaveAction.java
index d2260f3b3..236ae7640 100644
--- a/src/main/java/com/rapidminer/gui/actions/SaveAction.java
+++ b/src/main/java/com/rapidminer/gui/actions/SaveAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/actions/SaveAsAction.java b/src/main/java/com/rapidminer/gui/actions/SaveAsAction.java
index e35aa5625..98f5c8e35 100644
--- a/src/main/java/com/rapidminer/gui/actions/SaveAsAction.java
+++ b/src/main/java/com/rapidminer/gui/actions/SaveAsAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/actions/SettingsAction.java b/src/main/java/com/rapidminer/gui/actions/SettingsAction.java
index 79e440962..c589882c9 100644
--- a/src/main/java/com/rapidminer/gui/actions/SettingsAction.java
+++ b/src/main/java/com/rapidminer/gui/actions/SettingsAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/actions/StopAction.java b/src/main/java/com/rapidminer/gui/actions/StopAction.java
index 757af9d96..2d5468408 100644
--- a/src/main/java/com/rapidminer/gui/actions/StopAction.java
+++ b/src/main/java/com/rapidminer/gui/actions/StopAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -18,11 +18,12 @@
*/
package com.rapidminer.gui.actions;
+import java.awt.event.ActionEvent;
+
import com.rapidminer.gui.MainFrame;
+import com.rapidminer.gui.RapidMinerGUI;
import com.rapidminer.gui.tools.ResourceAction;
-import java.awt.event.ActionEvent;
-
/**
* Start the corresponding action.
@@ -33,16 +34,22 @@ public class StopAction extends ResourceAction {
private static final long serialVersionUID = 1181186062812851781L;
- private final MainFrame mainFrame;
- public StopAction(MainFrame mainFrame) {
+ public StopAction() {
super("stop");
setCondition(PROCESS_STOPPED, DISALLOWED);
- this.mainFrame = mainFrame;
+ }
+
+ /**
+ * @deprecated use {@link #StopAction()} instead
+ */
+ @Deprecated
+ public StopAction(MainFrame mainFrame) {
+ this();
}
@Override
public void loggedActionPerformed(ActionEvent e) {
- this.mainFrame.stopProcess();
+ RapidMinerGUI.getMainFrame().stopProcess();
}
}
diff --git a/src/main/java/com/rapidminer/gui/actions/StoreInRepositoryAction.java b/src/main/java/com/rapidminer/gui/actions/StoreInRepositoryAction.java
index 961adabb8..1f9671eaf 100644
--- a/src/main/java/com/rapidminer/gui/actions/StoreInRepositoryAction.java
+++ b/src/main/java/com/rapidminer/gui/actions/StoreInRepositoryAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/actions/ToggleAction.java b/src/main/java/com/rapidminer/gui/actions/ToggleAction.java
index 435fb482c..4bb08acc0 100644
--- a/src/main/java/com/rapidminer/gui/actions/ToggleAction.java
+++ b/src/main/java/com/rapidminer/gui/actions/ToggleAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/actions/ToggleExpertModeAction.java b/src/main/java/com/rapidminer/gui/actions/ToggleExpertModeAction.java
index 77d37b289..bc40c072c 100644
--- a/src/main/java/com/rapidminer/gui/actions/ToggleExpertModeAction.java
+++ b/src/main/java/com/rapidminer/gui/actions/ToggleExpertModeAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/actions/UndoAction.java b/src/main/java/com/rapidminer/gui/actions/UndoAction.java
index 3d1eb3875..d5ff6a65c 100644
--- a/src/main/java/com/rapidminer/gui/actions/UndoAction.java
+++ b/src/main/java/com/rapidminer/gui/actions/UndoAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -18,11 +18,12 @@
*/
package com.rapidminer.gui.actions;
+import java.awt.event.ActionEvent;
+
import com.rapidminer.gui.MainFrame;
+import com.rapidminer.gui.RapidMinerGUI;
import com.rapidminer.gui.tools.ResourceAction;
-import java.awt.event.ActionEvent;
-
/**
* Start the corresponding action.
@@ -33,17 +34,23 @@ public class UndoAction extends ResourceAction {
private static final long serialVersionUID = 4767902062440337756L;
- private MainFrame mainFrame;
- public UndoAction(MainFrame mainFrame) {
+ public UndoAction() {
super("undo");
- this.mainFrame = mainFrame;
setCondition(EDIT_IN_PROGRESS, DISALLOWED);
setCondition(PROCESS_RENDERER_HAS_UNDO_STEPS, MANDATORY);
}
+ /**
+ * @deprecated use {@link #UndoAction()} instead
+ */
+ @Deprecated
+ public UndoAction(MainFrame mainFrame) {
+ this();
+ }
+
@Override
public void loggedActionPerformed(ActionEvent e) {
- this.mainFrame.undo();
+ RapidMinerGUI.getMainFrame().undo();
}
}
diff --git a/src/main/java/com/rapidminer/gui/actions/UpgradeLicenseAction.java b/src/main/java/com/rapidminer/gui/actions/UpgradeLicenseAction.java
index 3fc48a3e1..4eea28766 100644
--- a/src/main/java/com/rapidminer/gui/actions/UpgradeLicenseAction.java
+++ b/src/main/java/com/rapidminer/gui/actions/UpgradeLicenseAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/actions/ValidateAutomaticallyAction.java b/src/main/java/com/rapidminer/gui/actions/ValidateAutomaticallyAction.java
index fd1f0c2af..771cbf871 100644
--- a/src/main/java/com/rapidminer/gui/actions/ValidateAutomaticallyAction.java
+++ b/src/main/java/com/rapidminer/gui/actions/ValidateAutomaticallyAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/actions/ValidateProcessAction.java b/src/main/java/com/rapidminer/gui/actions/ValidateProcessAction.java
index 55b7ccbee..d683091cc 100644
--- a/src/main/java/com/rapidminer/gui/actions/ValidateProcessAction.java
+++ b/src/main/java/com/rapidminer/gui/actions/ValidateProcessAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -18,11 +18,12 @@
*/
package com.rapidminer.gui.actions;
+import java.awt.event.ActionEvent;
+
import com.rapidminer.gui.MainFrame;
+import com.rapidminer.gui.RapidMinerGUI;
import com.rapidminer.gui.tools.ResourceAction;
-import java.awt.event.ActionEvent;
-
/**
* Start the corresponding action.
@@ -33,17 +34,23 @@ public class ValidateProcessAction extends ResourceAction {
private static final long serialVersionUID = -420838202882684287L;
- private final MainFrame mainFrame;
- public ValidateProcessAction(MainFrame mainFrame) {
+ public ValidateProcessAction() {
super("validate");
setCondition(PROCESS_RUNNING, DISALLOWED);
setCondition(EDIT_IN_PROGRESS, DISALLOWED);
- this.mainFrame = mainFrame;
+ }
+
+ /**
+ * @deprecated use {@link #ValidateProcessAction()} instead
+ */
+ @Deprecated
+ public ValidateProcessAction(MainFrame mainFrame) {
+ this();
}
@Override
public void loggedActionPerformed(ActionEvent e) {
- this.mainFrame.validateProcess(true);
+ RapidMinerGUI.getMainFrame().validateProcess(true);
}
}
diff --git a/src/main/java/com/rapidminer/gui/actions/WorkspaceAction.java b/src/main/java/com/rapidminer/gui/actions/WorkspaceAction.java
index 2fa129554..7232d1e74 100644
--- a/src/main/java/com/rapidminer/gui/actions/WorkspaceAction.java
+++ b/src/main/java/com/rapidminer/gui/actions/WorkspaceAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -20,9 +20,7 @@
import java.awt.event.ActionEvent;
-import com.rapidminer.gui.PerspectiveController;
-import com.rapidminer.gui.ApplicationPerspectives;
-import com.rapidminer.gui.Perspective;
+import com.rapidminer.gui.RapidMinerGUI;
import com.rapidminer.gui.tools.ResourceAction;
@@ -30,44 +28,27 @@
*
* @author Simon Fischer
*/
-@SuppressWarnings("deprecation")
public class WorkspaceAction extends ResourceAction {
private static final long serialVersionUID = 1L;
- private final ApplicationPerspectives perspectives;
+ private final String name;
- private final PerspectiveController perspectiveController;
- private final Perspective perspective;
-
- public WorkspaceAction(ApplicationPerspectives perspectives, Perspective perspective, String name) {
- super(true, "workspace_" + name);
- this.perspective = perspective;
- this.perspectives = perspectives;
- this.perspectiveController = null;
- }
-
- public WorkspaceAction(PerspectiveController perspectiveController, Perspective perspective, String name) {
+ public WorkspaceAction(String name) {
super(true, "workspace_" + name);
- this.perspective = perspective;
- this.perspectives = null;
- this.perspectiveController = perspectiveController;
+ this.name = name;
}
@Override
public void loggedActionPerformed(ActionEvent e) {
- if (perspectiveController != null) {
- perspectiveController.showPerspective(perspective.getName());
- } else {
- perspectives.showPerspective(perspective.getName());
- }
+ RapidMinerGUI.getMainFrame().getPerspectiveController().showPerspective(name);
}
/**
- * Returns the {@link Perspective} for this action.
+ * Returns the name of the perspective for this action.
*/
- public Perspective getPerspective() {
- return perspective;
+ public String getPerspectiveName() {
+ return name;
}
}
diff --git a/src/main/java/com/rapidminer/gui/actions/export/AbstractPrintableIOObjectPanel.java b/src/main/java/com/rapidminer/gui/actions/export/AbstractPrintableIOObjectPanel.java
index 4a7ea5779..871358967 100644
--- a/src/main/java/com/rapidminer/gui/actions/export/AbstractPrintableIOObjectPanel.java
+++ b/src/main/java/com/rapidminer/gui/actions/export/AbstractPrintableIOObjectPanel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/actions/export/ComponentPrinter.java b/src/main/java/com/rapidminer/gui/actions/export/ComponentPrinter.java
index 4d44f6e9a..794c2ea48 100644
--- a/src/main/java/com/rapidminer/gui/actions/export/ComponentPrinter.java
+++ b/src/main/java/com/rapidminer/gui/actions/export/ComponentPrinter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/actions/export/ExportImageAction.java b/src/main/java/com/rapidminer/gui/actions/export/ExportImageAction.java
index 4342e5d69..f43feb766 100644
--- a/src/main/java/com/rapidminer/gui/actions/export/ExportImageAction.java
+++ b/src/main/java/com/rapidminer/gui/actions/export/ExportImageAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/actions/export/ImageExportException.java b/src/main/java/com/rapidminer/gui/actions/export/ImageExportException.java
index d0f83605d..9c7da7334 100644
--- a/src/main/java/com/rapidminer/gui/actions/export/ImageExportException.java
+++ b/src/main/java/com/rapidminer/gui/actions/export/ImageExportException.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/actions/export/ImageExporter.java b/src/main/java/com/rapidminer/gui/actions/export/ImageExporter.java
index 74700908b..a4d73a93f 100644
--- a/src/main/java/com/rapidminer/gui/actions/export/ImageExporter.java
+++ b/src/main/java/com/rapidminer/gui/actions/export/ImageExporter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/actions/export/PrintAndExportDialog.java b/src/main/java/com/rapidminer/gui/actions/export/PrintAndExportDialog.java
index 9d170189b..0e9774d4a 100644
--- a/src/main/java/com/rapidminer/gui/actions/export/PrintAndExportDialog.java
+++ b/src/main/java/com/rapidminer/gui/actions/export/PrintAndExportDialog.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/actions/export/PrintPreviewPanel.java b/src/main/java/com/rapidminer/gui/actions/export/PrintPreviewPanel.java
index 0479779e3..be34dd9f4 100644
--- a/src/main/java/com/rapidminer/gui/actions/export/PrintPreviewPanel.java
+++ b/src/main/java/com/rapidminer/gui/actions/export/PrintPreviewPanel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/actions/export/PrintableComponent.java b/src/main/java/com/rapidminer/gui/actions/export/PrintableComponent.java
index 542ade18e..11f03a79a 100644
--- a/src/main/java/com/rapidminer/gui/actions/export/PrintableComponent.java
+++ b/src/main/java/com/rapidminer/gui/actions/export/PrintableComponent.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/actions/export/PrintableComponentContainer.java b/src/main/java/com/rapidminer/gui/actions/export/PrintableComponentContainer.java
index 09b2aea08..798665ee2 100644
--- a/src/main/java/com/rapidminer/gui/actions/export/PrintableComponentContainer.java
+++ b/src/main/java/com/rapidminer/gui/actions/export/PrintableComponentContainer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/actions/export/ShowPrintAndExportDialogAction.java b/src/main/java/com/rapidminer/gui/actions/export/ShowPrintAndExportDialogAction.java
index 2feab6f24..e47f06f50 100644
--- a/src/main/java/com/rapidminer/gui/actions/export/ShowPrintAndExportDialogAction.java
+++ b/src/main/java/com/rapidminer/gui/actions/export/ShowPrintAndExportDialogAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -18,13 +18,13 @@
*/
package com.rapidminer.gui.actions.export;
-import com.rapidminer.gui.tools.PrintingTools;
-import com.rapidminer.gui.tools.ResourceAction;
-
import java.awt.event.ActionEvent;
import java.util.LinkedList;
import java.util.List;
+import com.rapidminer.gui.tools.PrintingTools;
+import com.rapidminer.gui.tools.ResourceAction;
+
/**
* Export action for {@link PrintableComponent}s. Executing this action shows the
@@ -36,7 +36,7 @@
public class ShowPrintAndExportDialogAction extends ResourceAction {
private static final long serialVersionUID = 1L;
- private PrintableComponent comp;
+ private transient PrintableComponent comp;
/**
* Creates a export action for the single component provided.
diff --git a/src/main/java/com/rapidminer/gui/actions/export/SimplePrintableComponent.java b/src/main/java/com/rapidminer/gui/actions/export/SimplePrintableComponent.java
index a066a13f0..63a64cbaa 100644
--- a/src/main/java/com/rapidminer/gui/actions/export/SimplePrintableComponent.java
+++ b/src/main/java/com/rapidminer/gui/actions/export/SimplePrintableComponent.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/actions/search/ActionsGlobalSearch.java b/src/main/java/com/rapidminer/gui/actions/search/ActionsGlobalSearch.java
new file mode 100644
index 000000000..88b2e82b0
--- /dev/null
+++ b/src/main/java/com/rapidminer/gui/actions/search/ActionsGlobalSearch.java
@@ -0,0 +1,53 @@
+/**
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
+ *
+ * Complete list of developers available at our web site:
+ *
+ * http://rapidminer.com
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the
+ * GNU Affero General Public License as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * 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/.
+ */
+package com.rapidminer.gui.actions.search;
+
+import com.rapidminer.search.GlobalSearchIndexer;
+import com.rapidminer.search.GlobalSearchManager;
+import com.rapidminer.search.GlobalSearchRegistry;
+import com.rapidminer.search.GlobalSearchable;
+
+
+/**
+ * Responsible for implementing Global Search functionality for actions that should be found with it. See {@link GlobalSearchRegistry}
+ * for more information.
+ *
+ * @author Marco Boeck
+ * @since 8.1
+ */
+public class ActionsGlobalSearch implements GlobalSearchable {
+
+ public static final String CATEGORY_ID = "actions";
+
+ private final ActionsGlobalSearchManager manager;
+
+
+ public ActionsGlobalSearch() {
+ manager = new ActionsGlobalSearchManager();
+
+ if (GlobalSearchIndexer.INSTANCE.isInitialized()) {
+ GlobalSearchRegistry.INSTANCE.registerSearchCategory(this);
+ }
+ }
+
+ @Override
+ public GlobalSearchManager getSearchManager() {
+ return manager;
+ }
+}
diff --git a/src/main/java/com/rapidminer/gui/actions/search/ActionsGlobalSearchGUIProvider.java b/src/main/java/com/rapidminer/gui/actions/search/ActionsGlobalSearchGUIProvider.java
new file mode 100644
index 000000000..d72be0dfb
--- /dev/null
+++ b/src/main/java/com/rapidminer/gui/actions/search/ActionsGlobalSearchGUIProvider.java
@@ -0,0 +1,225 @@
+/**
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
+ *
+ * Complete list of developers available at our web site:
+ *
+ * http://rapidminer.com
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General
+ * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any
+ * later version.
+ *
+ * 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/.
+ */
+package com.rapidminer.gui.actions.search;
+
+import java.awt.BorderLayout;
+import java.awt.Color;
+import java.awt.dnd.DragGestureListener;
+import java.awt.event.ActionEvent;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectStreamClass;
+import java.util.logging.Level;
+import javax.swing.Action;
+import javax.swing.BorderFactory;
+import javax.swing.ImageIcon;
+import javax.swing.JComponent;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.border.Border;
+
+import org.apache.lucene.document.Document;
+import org.apache.lucene.util.BytesRef;
+
+import com.rapidminer.gui.actions.ToggleAction;
+import com.rapidminer.gui.look.Colors;
+import com.rapidminer.gui.search.GlobalSearchGUIUtilities;
+import com.rapidminer.gui.search.GlobalSearchableGUIProvider;
+import com.rapidminer.gui.tools.ResourceAction;
+import com.rapidminer.gui.tools.SwingTools;
+import com.rapidminer.search.GlobalSearchUtilities;
+import com.rapidminer.tools.I18N;
+import com.rapidminer.tools.LogService;
+import com.rapidminer.tools.plugin.Plugin;
+
+
+/**
+ * Provides UI elements to display {@link com.rapidminer.gui.tools.ResourceAction}s in the Global Search results for the {@link ActionsGlobalSearch}.
+ *
+ * @author Marco Boeck
+ * @since 8.1
+ */
+public class ActionsGlobalSearchGUIProvider implements GlobalSearchableGUIProvider {
+
+ private static final ImageIcon SELECTED_ICON = SwingTools.createIcon("16/check.png");
+ private static final Border ACTION_COMPOUND_BORDER = BorderFactory.createCompoundBorder(BorderFactory.createMatteBorder(0, 0, 0, 1, Colors.BUTTON_BORDER), BorderFactory.createEmptyBorder(0, 0, 0, 5));
+ private static final Border RESULT_EMPTY_BORDER = BorderFactory.createEmptyBorder(1, 0, 3, 0);
+ private static final Border ICON_EMPTY_BORDER = BorderFactory.createEmptyBorder(0, 5, 0, 15);
+
+ private static final float FONT_SIZE = 13f;
+ private static final Color DESCRIPTION_COLOR = new Color(62, 62, 62);
+ private static final float FONT_SIZE_DESCRIPTION = 11f;
+
+
+ @Override
+ public JComponent getGUIListComponentForDocument(Document document, String[] bestFragments) {
+ ResourceAction action = createActionFromDocument(document);
+
+ JPanel mainListPanel = new JPanel();
+ mainListPanel.setOpaque(false);
+ mainListPanel.setLayout(new BorderLayout());
+
+ JPanel descriptionPanel = new JPanel();
+ descriptionPanel.setOpaque(false);
+ descriptionPanel.setLayout(new BorderLayout());
+
+ JLabel descriptionLabel = new JLabel();
+ descriptionLabel.setForeground(DESCRIPTION_COLOR);
+ descriptionLabel.setFont(descriptionLabel.getFont().deriveFont(FONT_SIZE_DESCRIPTION));
+
+ JLabel resultLabel = new JLabel();
+ resultLabel.setFont(resultLabel.getFont().deriveFont(FONT_SIZE));
+
+ descriptionPanel.add(resultLabel, BorderLayout.CENTER);
+ descriptionPanel.add(descriptionLabel, BorderLayout.SOUTH);
+
+ mainListPanel.add(descriptionPanel, BorderLayout.CENTER);
+
+ // should not happen (because it is not indexed if action cannot be serialized), but just in case
+ if (action == null) {
+ resultLabel.setText(document.get(GlobalSearchUtilities.FIELD_NAME));
+ return mainListPanel;
+ }
+
+ ImageIcon icon = null;
+ try {
+ icon = ((ImageIcon) action.getValue(Action.SMALL_ICON));
+ } catch (ClassCastException e) {
+ // no icon then.
+ }
+ String name = document.get(GlobalSearchUtilities.FIELD_NAME);
+ name = GlobalSearchGUIUtilities.INSTANCE.createHTMLHighlightFromString(name, bestFragments);
+
+ resultLabel.setText(name);
+
+ JLabel iconListLabel = new JLabel();
+ iconListLabel.setBorder(ICON_EMPTY_BORDER);
+ iconListLabel.setIcon(icon);
+ mainListPanel.add(iconListLabel, BorderLayout.WEST);
+
+ // for dockable actions, display the description of the panel below the name
+ if (action instanceof DockableAction) {
+ Object description = action.getValue(ResourceAction.SHORT_DESCRIPTION);
+ if (description != null) {
+ descriptionLabel.setText("
" + description + "
");
+ } else {
+ resultLabel.setBorder(RESULT_EMPTY_BORDER);
+ }
+ Object tooltip = action.getValue(ResourceAction.LONG_DESCRIPTION);
+ if (tooltip != null) {
+ mainListPanel.setToolTipText(String.valueOf(tooltip));
+ }
+ } else {
+ // because we have no 2nd line in this case, we need a bit of empty border to reach a certain height
+ // so that a single result fills the dialog
+ resultLabel.setBorder(RESULT_EMPTY_BORDER);
+ mainListPanel.setToolTipText(document.get(ActionsGlobalSearchManager.FIELD_DESCRIPTION));
+ }
+
+ // action is enabled either if it is enabled anyway, or if it was only disabled due to focus loss
+ resultLabel.setEnabled(action.isEnabled() || action.isDisabledDueToFocusLost());
+
+ // ToggleActions need to display their toggle state
+ if (action instanceof ToggleAction) {
+ boolean selected = ((ToggleAction) action).isSelected();
+ if (selected) {
+ JLabel selectedLabel = new JLabel(SELECTED_ICON);
+ selectedLabel.setBorder(ACTION_COMPOUND_BORDER);
+ mainListPanel.add(selectedLabel, BorderLayout.WEST);
+ }
+ }
+
+ return mainListPanel;
+ }
+
+ @Override
+ public String getI18nNameForSearchable() {
+ return I18N.getMessage(I18N.getGUIBundle(), "gui.component.global_search.action.category.title");
+ }
+
+ @Override
+ public void searchResultTriggered(Document document, Veto veto) {
+ // try to deserialize action and trigger it
+ ResourceAction action = createActionFromDocument(document);
+
+ // action is enabled either if it is enabled anyway, or if it was only disabled due to focus loss
+ if (action != null && (action.isEnabled() || action.isDisabledDueToFocusLost())) {
+ SwingTools.invokeLater(() -> {
+ ActionEvent event = new ActionEvent(action, ActionEvent.ACTION_PERFORMED, "");
+ action.actionPerformed(event);
+ });
+
+ // update ToggleAction in index so that new state will be retrieved next time
+ if (action instanceof ToggleAction) {
+ action.addToGlobalSearch();
+ }
+ } else {
+ // action could not be triggered, do not close search results to indicate that
+ veto.veto();
+ }
+ }
+
+ @Override
+ public void searchResultBrowsed(Document document) {
+ // ignore, cannot do anything meaningful
+ }
+
+ @Override
+ public boolean isDragAndDropSupported(Document document) {
+ return false;
+ }
+
+ @Override
+ public DragGestureListener getDragAndDropSupport(Document document) {
+ return null;
+ }
+
+ /**
+ * Deserializes the {@link ResourceAction} from the document.
+ *
+ * @param document
+ * the search document where the action is stored in
+ * @return the action instance or {@code null} if something goes wrong
+ */
+ private ResourceAction createActionFromDocument(Document document) {
+ BytesRef binaryValue = document.getBinaryValue(ActionsGlobalSearchManager.FIELD_SERIALIZED_ACTION);
+
+ // restore action with the plugin classloader, otherwise plugin actions would not be found
+ try (ByteArrayInputStream byteInputStream = new ByteArrayInputStream(binaryValue.bytes)) {
+
+ ObjectInputStream ois = new ObjectInputStream(byteInputStream) {
+
+ @Override
+ protected Class resolveClass(ObjectStreamClass desc) throws ClassNotFoundException {
+ try {
+ return super.resolveClass(desc);
+ } catch (ClassNotFoundException | IOException e) {
+ return Class.forName(desc.getName(), false, Plugin.getMajorClassLoader());
+ }
+ }
+ };
+ return (ResourceAction) ois.readObject();
+ } catch (Exception e) {
+ LogService.getRoot().log(Level.WARNING, "com.rapidminer.gui.actions.search.ActionsGlobalSearchManager.error.deserialize_action", e);
+ return null;
+ }
+ }
+
+}
diff --git a/src/main/java/com/rapidminer/gui/actions/search/ActionsGlobalSearchManager.java b/src/main/java/com/rapidminer/gui/actions/search/ActionsGlobalSearchManager.java
new file mode 100644
index 000000000..d9b82b2bb
--- /dev/null
+++ b/src/main/java/com/rapidminer/gui/actions/search/ActionsGlobalSearchManager.java
@@ -0,0 +1,394 @@
+/**
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
+ *
+ * Complete list of developers available at our web site:
+ *
+ * http://rapidminer.com
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the
+ * GNU Affero General Public License as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * 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/.
+ */
+package com.rapidminer.gui.actions.search;
+
+import java.beans.PropertyChangeListener;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.logging.Level;
+import java.util.stream.Collectors;
+import javax.swing.Action;
+import javax.swing.Icon;
+
+import org.apache.commons.lang.SerializationException;
+import org.apache.commons.lang.SerializationUtils;
+import org.apache.lucene.document.Document;
+import org.apache.lucene.document.Field;
+import org.apache.lucene.queryparser.classic.ParseException;
+
+import com.rapidminer.gui.DockableMenu;
+import com.rapidminer.gui.Perspective;
+import com.rapidminer.gui.PerspectiveChangeListener;
+import com.rapidminer.gui.PerspectiveModel;
+import com.rapidminer.gui.RapidMinerGUI;
+import com.rapidminer.gui.actions.ToggleAction;
+import com.rapidminer.gui.actions.WorkspaceAction;
+import com.rapidminer.gui.security.PasswordManager;
+import com.rapidminer.gui.tools.ProgressThread;
+import com.rapidminer.gui.tools.ResourceAction;
+import com.rapidminer.gui.tools.ResourceDockKey;
+import com.rapidminer.gui.tools.SwingTools;
+import com.rapidminer.repository.gui.RepositoryBrowser;
+import com.rapidminer.search.AbstractGlobalSearchManager;
+import com.rapidminer.search.GlobalSearchDefaultField;
+import com.rapidminer.search.GlobalSearchRegistry;
+import com.rapidminer.search.GlobalSearchResult;
+import com.rapidminer.search.GlobalSearchResultBuilder;
+import com.rapidminer.search.GlobalSearchUtilities;
+import com.rapidminer.tools.I18N;
+import com.rapidminer.tools.LogService;
+import com.rapidminer.tools.Observer;
+import com.vlsolutions.swing.docking.DockKey;
+import com.vlsolutions.swing.docking.DockableState;
+import com.vlsolutions.swing.docking.DummyDockable;
+
+
+/**
+ * Manages Global Search for {@link ResourceAction}s.
+ *
+ * @author Marco Boeck
+ * @since 8.1
+ */
+public class ActionsGlobalSearchManager extends AbstractGlobalSearchManager {
+
+ private static final Map ADDITIONAL_FIELDS;
+
+ private static final float FIELD_BOOST_DESCRIPTION = 0.5f;
+
+ /** this is a flag field which is set for view actions so we can delete them */
+ private static final String FIELD_VIEW_TYPE = "action_view_type";
+
+ /** this is a flag field which is set for dockable actions so we can delete them */
+ private static final String FIELD_DOCKABLE_TYPE = "action_dockable_type";
+
+ protected static final String FIELD_DESCRIPTION = "description";
+ protected static final String FIELD_SERIALIZED_ACTION = "serializedAction";
+
+ static {
+ ADDITIONAL_FIELDS = new HashMap<>();
+ ADDITIONAL_FIELDS.put(FIELD_DESCRIPTION, "The description of an action. More verbose than just their name.");
+ }
+
+ /** observe perspective additions/removals */
+ private final Observer> perspectiveObserver;
+
+ /** when the perspective changes, we need to re-index the dockables to have them up-to-date */
+ private final PerspectiveChangeListener perspectiveChangeListener;
+
+
+ protected ActionsGlobalSearchManager() {
+ super(ActionsGlobalSearch.CATEGORY_ID, ADDITIONAL_FIELDS, new GlobalSearchDefaultField(FIELD_DESCRIPTION, FIELD_BOOST_DESCRIPTION));
+
+ perspectiveObserver = (observable, perspectives) -> {
+
+ deleteAllPerspectiveActions();
+ for (Perspective perspective : perspectives) {
+ addDocumentToIndex(createDocumentFromPerspective(perspective));
+ }
+ };
+
+ perspectiveChangeListener = perspective -> {
+
+ // delete all dockable actions and re-add them (because some may not be available in some views)
+ deleteAllDockableActions();
+ indexDockables();
+ };
+ }
+
+ @Override
+ protected void init() {
+ PerspectiveModel model = RapidMinerGUI.getMainFrame().getPerspectiveController().getModel();
+
+ model.addObserver(perspectiveObserver, false);
+ model.addPerspectiveChangeListener(perspectiveChangeListener);
+ }
+
+ @Override
+ protected List createInitialIndex(final ProgressThread progressThread) {
+ List mainFrameActions = new LinkedList<>();
+
+ // scoop up actions from MainFrame and add them
+ mainFrameActions.add(createDocument((ResourceAction) RapidMinerGUI.getMainFrame().NEW_ACTION));
+ mainFrameActions.add(createDocument((ResourceAction) RapidMinerGUI.getMainFrame().OPEN_ACTION));
+ mainFrameActions.add(createDocument(RapidMinerGUI.getMainFrame().SAVE_ACTION));
+ mainFrameActions.add(createDocument((ResourceAction) RapidMinerGUI.getMainFrame().SAVE_AS_ACTION));
+ mainFrameActions.add(createDocument((ResourceAction) RapidMinerGUI.getMainFrame().IMPORT_DATA_ACTION));
+ mainFrameActions.add(createDocument((ResourceAction) RapidMinerGUI.getMainFrame().IMPORT_PROCESS_ACTION));
+ mainFrameActions.add(createDocument((ResourceAction) RapidMinerGUI.getMainFrame().EXPORT_PROCESS_ACTION));
+ mainFrameActions.add(createDocument((ResourceAction) RapidMinerGUI.getMainFrame().UNDO_ACTION));
+ mainFrameActions.add(createDocument((ResourceAction) RapidMinerGUI.getMainFrame().REDO_ACTION));
+ mainFrameActions.add(createDocument(RapidMinerGUI.getMainFrame().RUN_ACTION));
+ mainFrameActions.add(createDocument((ResourceAction) RapidMinerGUI.getMainFrame().STOP_ACTION));
+ mainFrameActions.add(createDocument((ResourceAction) RapidMinerGUI.getMainFrame().VALIDATE_ACTION));
+ mainFrameActions.add(createDocument((ResourceAction) RapidMinerGUI.getMainFrame().AUTO_WIRE));
+ mainFrameActions.add(createDocument(RapidMinerGUI.getMainFrame().PROPAGATE_REAL_METADATA_ACTION));
+ mainFrameActions.add(createDocument((ResourceAction) RapidMinerGUI.getMainFrame().NEW_PERSPECTIVE_ACTION));
+ mainFrameActions.add(createDocument((ResourceAction) RapidMinerGUI.getMainFrame().MANAGE_CONFIGURABLES_ACTION));
+ mainFrameActions.add(createDocument((ResourceAction) RapidMinerGUI.getMainFrame().EXPORT_ACTION));
+ mainFrameActions.add(createDocument((ResourceAction) RapidMinerGUI.getMainFrame().EXIT_ACTION));
+ mainFrameActions.add(createDocument((ResourceAction) RapidMinerGUI.getMainFrame().SETTINGS_ACTION));
+ mainFrameActions.add(createDocument((ResourceAction) RapidMinerGUI.getMainFrame().RESTORE_PERSPECTIVE_ACTION));
+ mainFrameActions.add(createDocument((ResourceAction) RapidMinerGUI.getMainFrame().TUTORIAL_ACTION));
+ mainFrameActions.add(createDocument((ResourceAction) RapidMinerGUI.getMainFrame().BROWSE_VIDEOS_ACTION));
+ mainFrameActions.add(createDocument((ResourceAction) RapidMinerGUI.getMainFrame().BROWSE_DOCUMENTATION_ACTION));
+ mainFrameActions.add(createDocument((ResourceAction) RapidMinerGUI.getMainFrame().BROWSE_COMMUNITY_ACTION));
+ mainFrameActions.add(createDocument((ResourceAction) RapidMinerGUI.getMainFrame().BROWSE_SUPPORT_ACTION));
+ mainFrameActions.add(createDocument((ResourceAction) RapidMinerGUI.getMainFrame().ABOUT_ACTION));
+ mainFrameActions.add(createDocument((ResourceAction) PasswordManager.OPEN_WINDOW));
+ mainFrameActions.add(createDocument((ResourceAction) RepositoryBrowser.ADD_REPOSITORY_ACTION));
+
+ // add perspectives
+ for (Perspective perspective : RapidMinerGUI.getMainFrame().getPerspectiveController().getModel().getAllPerspectives()) {
+ mainFrameActions.add(createDocumentFromPerspective(perspective));
+ }
+
+ // because createDocument can return null, we need to filter nulls again now
+ // this is just a precaution, should not happen here
+ return mainFrameActions.stream().filter(Objects::nonNull).collect(Collectors.toList());
+ }
+
+ /**
+ * Adds the given action to the Global Search index. If it is already part of the index, it will be updated.
+ * If it has no name, it will not be added to the index.
+ *
+ * @param action
+ * the action to add to the search index. Must NOT be a {@link ToggleAction}!
+ */
+ public void addAction(final ResourceAction action) {
+ if (action == null) {
+ throw new IllegalArgumentException("action must not be null!");
+ }
+ if (action.getValue(Action.NAME) == null) {
+ LogService.getRoot().log(Level.WARNING, "com.rapidminer.gui.actions.search.ActionsGlobalSearchManager.error.index_action", action.getKey());
+ return;
+ }
+ if (action instanceof WorkspaceAction) {
+ // these are special, we don't want to have the regular perspective actions update our custom built ones, so ignore them
+ return;
+ }
+
+ Document doc = createDocument(action);
+ if (doc != null) {
+ addDocumentToIndex(doc);
+ }
+ }
+
+ /**
+ * Removes the given action from the Global Search index.
+ *
+ * @param action
+ * the action to remove from the search index
+ */
+ public void removeAction(final ResourceAction action) {
+ if (action == null) {
+ throw new IllegalArgumentException("action must not be null!");
+ }
+
+ Document doc = createDocument(action);
+ if (doc != null) {
+ removeDocumentFromIndex(doc);
+ }
+ }
+
+ /**
+ * Checks if the given action is registered to the Global Search.
+ *
+ * @param action
+ * the action to check
+ * @return {@code true} if the action is already indexed in the Global Search; {@code false} otherwise
+ */
+ public boolean isActionRegistered(final ResourceAction action) {
+ if (action == null) {
+ throw new IllegalArgumentException("action must not be null!");
+ }
+
+ // search for element that has id = key
+ try {
+ GlobalSearchResultBuilder builder = new GlobalSearchResultBuilder(GlobalSearchUtilities.FIELD_UNIQUE_ID + GlobalSearchUtilities.QUERY_FIELD_SPECIFIER + action.getKey());
+ builder.setMaxNumberOfResults(1).setSearchCategories(GlobalSearchRegistry.INSTANCE.getSearchCategoryById(getSearchCategoryId()));
+ return builder.runSearch().getNumberOfResults() == 1;
+ } catch (ParseException e) {
+ LogService.getRoot().log(Level.WARNING, "com.rapidminer.gui.actions.search.ActionsGlobalSearchManager.error.delete_views_error", e);
+ return false;
+ }
+ }
+
+ /**
+ * Adds all {@link com.vlsolutions.swing.docking.Dockable}s to the Global Search.
+ */
+ private void indexDockables() {
+ List dockableDocuments = new ArrayList<>();
+
+ for (final DockableState state : RapidMinerGUI.getMainFrame().getDockingDesktop().getDockables()) {
+ DockKey dockKey = state.getDockable().getDockKey();
+ if (state.getDockable() instanceof DummyDockable || DockableMenu.isDockableHiddenFromMenu(dockKey)) {
+ continue;
+ }
+
+ dockableDocuments.add(createDocumentFromDockKey(dockKey));
+ }
+
+ addDocumentsToIndex(dockableDocuments);
+ }
+
+ /**
+ * Deletes all perspective actions from the index.
+ *
+ */
+ private void deleteAllPerspectiveActions() {
+ // search for all elements that start with "workspace_"
+ GlobalSearchResultBuilder builder = new GlobalSearchResultBuilder(FIELD_VIEW_TYPE + GlobalSearchUtilities.QUERY_FIELD_SPECIFIER + String.valueOf(Boolean.TRUE));
+ builder.setMaxNumberOfResults(Integer.MAX_VALUE).setSearchCategories(GlobalSearchRegistry.INSTANCE.getSearchCategoryById(getSearchCategoryId()));
+ try {
+ GlobalSearchResult result = builder.runSearch();
+ removeDocumentsFromIndex(result.getResultDocuments());
+ } catch (ParseException e) {
+ LogService.getRoot().log(Level.WARNING, "com.rapidminer.gui.actions.search.ActionsGlobalSearchManager.error.delete_views_error", e);
+ }
+ }
+
+ /**
+ * Deletes all dockable actions from the index.
+ *
+ */
+ private void deleteAllDockableActions() {
+ // now actually search for all elements that start with "workspace_"
+ GlobalSearchResultBuilder builder = new GlobalSearchResultBuilder(FIELD_DOCKABLE_TYPE + GlobalSearchUtilities.QUERY_FIELD_SPECIFIER + String.valueOf(Boolean.TRUE));
+ builder.setMaxNumberOfResults(Integer.MAX_VALUE).setSearchCategories(GlobalSearchRegistry.INSTANCE.getSearchCategoryById(getSearchCategoryId()));
+ try {
+ GlobalSearchResult result = builder.runSearch();
+ removeDocumentsFromIndex(result.getResultDocuments());
+ } catch (ParseException e) {
+ LogService.getRoot().log(Level.WARNING, "com.rapidminer.gui.actions.search.ActionsGlobalSearchManager.error.delete_dockables_error", e);
+ }
+ }
+
+ /**
+ * Creates an action search document for the given {@link ResourceAction}.
+ *
+ * @param action
+ * the action for which to create the search document
+ * @return the document or {@code null} if it could not be created
+ */
+ private Document createDocument(final ResourceAction action) {
+ List fields = new ArrayList<>();
+ Object name = action.getValue(Action.NAME);
+ // serialize the action so that we can actually trigger it on retrieval later
+ byte[] serializedAction = createSerializedAction(action);
+ if (name == null) {
+ LogService.getRoot().log(Level.WARNING, "com.rapidminer.gui.actions.search.ActionsGlobalSearchManager.error.index_action.name_null", action.getKey());
+ return null;
+ }
+ if (serializedAction == null) {
+ LogService.getRoot().log(Level.WARNING, "com.rapidminer.gui.actions.search.ActionsGlobalSearchManager.error.index_action.serialization_failed", action.getKey());
+ return null;
+ }
+
+ // description field
+ Object tooltip = action.getValue(Action.SHORT_DESCRIPTION);
+ if (tooltip != null) {
+ fields.add(GlobalSearchUtilities.INSTANCE.createFieldForTexts(FIELD_DESCRIPTION, String.valueOf(tooltip)));
+ }
+
+ fields.add(GlobalSearchUtilities.INSTANCE.createFieldForBinary(FIELD_SERIALIZED_ACTION, serializedAction));
+
+ if (action instanceof WorkspaceAction) {
+ fields.add(GlobalSearchUtilities.INSTANCE.createFieldForIdentifiers(FIELD_VIEW_TYPE, String.valueOf(Boolean.TRUE)));
+ } else if (action instanceof DockableAction) {
+ fields.add(GlobalSearchUtilities.INSTANCE.createFieldForIdentifiers(FIELD_DOCKABLE_TYPE, String.valueOf(Boolean.TRUE)));
+ }
+
+ // i18n key is the unique ID for the action category
+ return GlobalSearchUtilities.INSTANCE.createDocument(action.getKey(), String.valueOf(name), fields.toArray(new Field[fields.size()]));
+ }
+
+ /**
+ * Creates an action search document for the given {@link Perspective}.
+ *
+ * @param perspective
+ * the perspective for which to create the action as well as the document
+ * @return the document or {@code null} if it could not be created
+ */
+ private Document createDocumentFromPerspective(final Perspective perspective) {
+ WorkspaceAction action = RapidMinerGUI.getMainFrame().getPerspectiveController().createPerspectiveAction(perspective);
+ // make label a bit more descriptive
+ String name = perspective.getName().replaceAll("_", " ");
+ action.putValue(ResourceAction.NAME, I18N.getMessage(I18N.getGUIBundle(), "gui.action.global_search.action.perspective.name", SwingTools.capitalizeString(name)));
+ return createDocument(action);
+ }
+
+ /**
+ * Creates an action search document for the given {@link DockKey}.
+ *
+ * @param dockKey
+ * the dockKey for which to create the action as well as the document
+ * @return the document or {@code null} if it could not be created
+ */
+ private Document createDocumentFromDockKey(final DockKey dockKey) {
+ String description = null;
+ if (dockKey instanceof ResourceDockKey) {
+ description = ((ResourceDockKey) dockKey).getShortDescription();
+ }
+ String name = I18N.getGUIMessage("gui.action.global_search.action.dockable.name", dockKey.getName());
+ Icon icon = dockKey.getIcon();
+ String tip = dockKey.getTooltip();
+
+ DockableAction action = new DockableAction(dockKey.getKey());
+ action.putValue(ResourceAction.NAME, name);
+ action.putValue(ResourceAction.SHORT_DESCRIPTION, description);
+ action.putValue(ResourceAction.LONG_DESCRIPTION, tip);
+ action.putValue(ResourceAction.SMALL_ICON, icon);
+
+ return createDocument(action);
+ }
+
+ /**
+ * Tries to serialize the given action to a byte array.
+ *
+ * @param action
+ * the action to serialize
+ * @return the byte array or {@code null} if something goes wrong
+ */
+ private byte[] createSerializedAction(final ResourceAction action) {
+ // remove listeners which are NOT transient...
+ PropertyChangeListener[] propertyChangeListeners = action.getPropertyChangeListeners();
+ for (PropertyChangeListener propertyChangeListener : propertyChangeListeners) {
+ action.removePropertyChangeListener(propertyChangeListener);
+ }
+
+ try {
+ return SerializationUtils.serialize(action);
+ } catch (SerializationException e) {
+ LogService.getRoot().log(Level.WARNING, "", e);
+ return null;
+ } finally {
+ // restore listeners which are NOT transient...
+ for (PropertyChangeListener propertyChangeListener : propertyChangeListeners) {
+ action.addPropertyChangeListener(propertyChangeListener);
+ }
+
+ }
+ }
+
+
+}
diff --git a/src/main/java/com/rapidminer/gui/actions/search/DockableAction.java b/src/main/java/com/rapidminer/gui/actions/search/DockableAction.java
new file mode 100644
index 000000000..07f2287d5
--- /dev/null
+++ b/src/main/java/com/rapidminer/gui/actions/search/DockableAction.java
@@ -0,0 +1,51 @@
+/**
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
+ *
+ * Complete list of developers available at our web site:
+ *
+ * http://rapidminer.com
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the
+ * GNU Affero General Public License as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * 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/.
+*/
+package com.rapidminer.gui.actions.search;
+
+import java.awt.event.ActionEvent;
+
+import com.rapidminer.gui.tools.DockingTools;
+import com.rapidminer.gui.tools.ResourceAction;
+
+
+/**
+ * Opens/Displays the given dockable identified by its dock key.
+ *
+ * @author Marco Boeck
+ * @since 8.1
+ */
+class DockableAction extends ResourceAction {
+
+ private static final long serialVersionUID = 1L;
+
+ private final String dockKey;
+
+
+ DockableAction(final String dockKey) {
+ super("global_search.action.dockable_" + dockKey);
+ setCondition(EDIT_IN_PROGRESS, DONT_CARE);
+
+ this.dockKey = dockKey;
+ }
+
+ @Override
+ public void loggedActionPerformed(ActionEvent e) {
+ DockingTools.openDockable(dockKey);
+ }
+}
diff --git a/src/main/java/com/rapidminer/gui/actions/startup/NewAction.java b/src/main/java/com/rapidminer/gui/actions/startup/NewAction.java
index 9b979b9a2..df42c0b6f 100644
--- a/src/main/java/com/rapidminer/gui/actions/startup/NewAction.java
+++ b/src/main/java/com/rapidminer/gui/actions/startup/NewAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/actions/startup/OpenAction.java b/src/main/java/com/rapidminer/gui/actions/startup/OpenAction.java
index e21a0b100..06cc92dc9 100644
--- a/src/main/java/com/rapidminer/gui/actions/startup/OpenAction.java
+++ b/src/main/java/com/rapidminer/gui/actions/startup/OpenAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/actions/startup/TutorialAction.java b/src/main/java/com/rapidminer/gui/actions/startup/TutorialAction.java
index e43bd207c..c23090adf 100644
--- a/src/main/java/com/rapidminer/gui/actions/startup/TutorialAction.java
+++ b/src/main/java/com/rapidminer/gui/actions/startup/TutorialAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/animation/Animation.java b/src/main/java/com/rapidminer/gui/animation/Animation.java
index 4f091b95b..2bb7c872d 100644
--- a/src/main/java/com/rapidminer/gui/animation/Animation.java
+++ b/src/main/java/com/rapidminer/gui/animation/Animation.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/animation/AnimationTimerProcessListener.java b/src/main/java/com/rapidminer/gui/animation/AnimationTimerProcessListener.java
index 82de2a0b9..5f19a6c61 100644
--- a/src/main/java/com/rapidminer/gui/animation/AnimationTimerProcessListener.java
+++ b/src/main/java/com/rapidminer/gui/animation/AnimationTimerProcessListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/animation/IndeterminateAnimation.java b/src/main/java/com/rapidminer/gui/animation/IndeterminateAnimation.java
index 7632faca1..6a35cf1f6 100644
--- a/src/main/java/com/rapidminer/gui/animation/IndeterminateAnimation.java
+++ b/src/main/java/com/rapidminer/gui/animation/IndeterminateAnimation.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/animation/OperatorAnimationProcessListener.java b/src/main/java/com/rapidminer/gui/animation/OperatorAnimationProcessListener.java
index 871dc39c2..a339fb8d3 100644
--- a/src/main/java/com/rapidminer/gui/animation/OperatorAnimationProcessListener.java
+++ b/src/main/java/com/rapidminer/gui/animation/OperatorAnimationProcessListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/animation/ProcessAnimationManager.java b/src/main/java/com/rapidminer/gui/animation/ProcessAnimationManager.java
index 41a6b9c5b..661b1c4ac 100644
--- a/src/main/java/com/rapidminer/gui/animation/ProcessAnimationManager.java
+++ b/src/main/java/com/rapidminer/gui/animation/ProcessAnimationManager.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/animation/ProgressAnimation.java b/src/main/java/com/rapidminer/gui/animation/ProgressAnimation.java
index eaa6a7f64..52fd8625e 100644
--- a/src/main/java/com/rapidminer/gui/animation/ProgressAnimation.java
+++ b/src/main/java/com/rapidminer/gui/animation/ProgressAnimation.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/animation/ProgressProvider.java b/src/main/java/com/rapidminer/gui/animation/ProgressProvider.java
index 4e0d166ab..f83e1a123 100644
--- a/src/main/java/com/rapidminer/gui/animation/ProgressProvider.java
+++ b/src/main/java/com/rapidminer/gui/animation/ProgressProvider.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/attributeeditor/AttributeEditor.java b/src/main/java/com/rapidminer/gui/attributeeditor/AttributeEditor.java
index a5410c7b8..3a35c0dfd 100644
--- a/src/main/java/com/rapidminer/gui/attributeeditor/AttributeEditor.java
+++ b/src/main/java/com/rapidminer/gui/attributeeditor/AttributeEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/attributeeditor/AttributeEditorDialog.java b/src/main/java/com/rapidminer/gui/attributeeditor/AttributeEditorDialog.java
index 53f1b290b..047a365e0 100644
--- a/src/main/java/com/rapidminer/gui/attributeeditor/AttributeEditorDialog.java
+++ b/src/main/java/com/rapidminer/gui/attributeeditor/AttributeEditorDialog.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/attributeeditor/CellEditors.java b/src/main/java/com/rapidminer/gui/attributeeditor/CellEditors.java
index b051e2de1..9c5ca22db 100644
--- a/src/main/java/com/rapidminer/gui/attributeeditor/CellEditors.java
+++ b/src/main/java/com/rapidminer/gui/attributeeditor/CellEditors.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/attributeeditor/CellRenderers.java b/src/main/java/com/rapidminer/gui/attributeeditor/CellRenderers.java
index 4a5a60043..b2135a481 100644
--- a/src/main/java/com/rapidminer/gui/attributeeditor/CellRenderers.java
+++ b/src/main/java/com/rapidminer/gui/attributeeditor/CellRenderers.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/attributeeditor/DataControl.java b/src/main/java/com/rapidminer/gui/attributeeditor/DataControl.java
index f8d2b2f7a..873ec09ce 100644
--- a/src/main/java/com/rapidminer/gui/attributeeditor/DataControl.java
+++ b/src/main/java/com/rapidminer/gui/attributeeditor/DataControl.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/attributeeditor/DataControlListener.java b/src/main/java/com/rapidminer/gui/attributeeditor/DataControlListener.java
index 125844e80..9bde8b89e 100644
--- a/src/main/java/com/rapidminer/gui/attributeeditor/DataControlListener.java
+++ b/src/main/java/com/rapidminer/gui/attributeeditor/DataControlListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/attributeeditor/actions/ClearAction.java b/src/main/java/com/rapidminer/gui/attributeeditor/actions/ClearAction.java
index 3c22f5aba..4fbff96e1 100644
--- a/src/main/java/com/rapidminer/gui/attributeeditor/actions/ClearAction.java
+++ b/src/main/java/com/rapidminer/gui/attributeeditor/actions/ClearAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/attributeeditor/actions/CloseAction.java b/src/main/java/com/rapidminer/gui/attributeeditor/actions/CloseAction.java
index 75f5e0f3e..abf111499 100644
--- a/src/main/java/com/rapidminer/gui/attributeeditor/actions/CloseAction.java
+++ b/src/main/java/com/rapidminer/gui/attributeeditor/actions/CloseAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/attributeeditor/actions/GuessAllTypesAction.java b/src/main/java/com/rapidminer/gui/attributeeditor/actions/GuessAllTypesAction.java
index b1c587c10..572a072d5 100644
--- a/src/main/java/com/rapidminer/gui/attributeeditor/actions/GuessAllTypesAction.java
+++ b/src/main/java/com/rapidminer/gui/attributeeditor/actions/GuessAllTypesAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/attributeeditor/actions/GuessTypeAction.java b/src/main/java/com/rapidminer/gui/attributeeditor/actions/GuessTypeAction.java
index 6c5a005e5..e990864bf 100644
--- a/src/main/java/com/rapidminer/gui/attributeeditor/actions/GuessTypeAction.java
+++ b/src/main/java/com/rapidminer/gui/attributeeditor/actions/GuessTypeAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/attributeeditor/actions/LoadDataAction.java b/src/main/java/com/rapidminer/gui/attributeeditor/actions/LoadDataAction.java
index ef6c13da1..0085785a5 100644
--- a/src/main/java/com/rapidminer/gui/attributeeditor/actions/LoadDataAction.java
+++ b/src/main/java/com/rapidminer/gui/attributeeditor/actions/LoadDataAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/attributeeditor/actions/LoadSeriesDataAction.java b/src/main/java/com/rapidminer/gui/attributeeditor/actions/LoadSeriesDataAction.java
index a5318a51c..e2dbe68ff 100644
--- a/src/main/java/com/rapidminer/gui/attributeeditor/actions/LoadSeriesDataAction.java
+++ b/src/main/java/com/rapidminer/gui/attributeeditor/actions/LoadSeriesDataAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/attributeeditor/actions/OpenAttributeFileAction.java b/src/main/java/com/rapidminer/gui/attributeeditor/actions/OpenAttributeFileAction.java
index 98cf6bfff..ec52648f3 100644
--- a/src/main/java/com/rapidminer/gui/attributeeditor/actions/OpenAttributeFileAction.java
+++ b/src/main/java/com/rapidminer/gui/attributeeditor/actions/OpenAttributeFileAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/attributeeditor/actions/RemoveColumnAction.java b/src/main/java/com/rapidminer/gui/attributeeditor/actions/RemoveColumnAction.java
index 2ba78657e..be0ddda9b 100644
--- a/src/main/java/com/rapidminer/gui/attributeeditor/actions/RemoveColumnAction.java
+++ b/src/main/java/com/rapidminer/gui/attributeeditor/actions/RemoveColumnAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/attributeeditor/actions/RemoveRowAction.java b/src/main/java/com/rapidminer/gui/attributeeditor/actions/RemoveRowAction.java
index ac41d6a3a..11915b2a1 100644
--- a/src/main/java/com/rapidminer/gui/attributeeditor/actions/RemoveRowAction.java
+++ b/src/main/java/com/rapidminer/gui/attributeeditor/actions/RemoveRowAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/attributeeditor/actions/SaveAttributeFileAction.java b/src/main/java/com/rapidminer/gui/attributeeditor/actions/SaveAttributeFileAction.java
index 2378beac2..2fe293a8e 100644
--- a/src/main/java/com/rapidminer/gui/attributeeditor/actions/SaveAttributeFileAction.java
+++ b/src/main/java/com/rapidminer/gui/attributeeditor/actions/SaveAttributeFileAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/attributeeditor/actions/SaveDataAction.java b/src/main/java/com/rapidminer/gui/attributeeditor/actions/SaveDataAction.java
index cd897f87e..4bf7a276d 100644
--- a/src/main/java/com/rapidminer/gui/attributeeditor/actions/SaveDataAction.java
+++ b/src/main/java/com/rapidminer/gui/attributeeditor/actions/SaveDataAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/attributeeditor/actions/UseRowAsNamesAction.java b/src/main/java/com/rapidminer/gui/attributeeditor/actions/UseRowAsNamesAction.java
index 463f398f4..455aa094b 100644
--- a/src/main/java/com/rapidminer/gui/attributeeditor/actions/UseRowAsNamesAction.java
+++ b/src/main/java/com/rapidminer/gui/attributeeditor/actions/UseRowAsNamesAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/autosave/AutoSave.java b/src/main/java/com/rapidminer/gui/autosave/AutoSave.java
index 057c9d1c2..b71a1696c 100644
--- a/src/main/java/com/rapidminer/gui/autosave/AutoSave.java
+++ b/src/main/java/com/rapidminer/gui/autosave/AutoSave.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/dialog/AttributeWeightCellEditor.java b/src/main/java/com/rapidminer/gui/dialog/AttributeWeightCellEditor.java
index 18a4afdac..dc00ee428 100644
--- a/src/main/java/com/rapidminer/gui/dialog/AttributeWeightCellEditor.java
+++ b/src/main/java/com/rapidminer/gui/dialog/AttributeWeightCellEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/dialog/AttributeWeightsDialog.java b/src/main/java/com/rapidminer/gui/dialog/AttributeWeightsDialog.java
index 811032415..1a42e82e1 100644
--- a/src/main/java/com/rapidminer/gui/dialog/AttributeWeightsDialog.java
+++ b/src/main/java/com/rapidminer/gui/dialog/AttributeWeightsDialog.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/dialog/AttributeWeightsTableModel.java b/src/main/java/com/rapidminer/gui/dialog/AttributeWeightsTableModel.java
index 5d05d1e4b..c02831771 100644
--- a/src/main/java/com/rapidminer/gui/dialog/AttributeWeightsTableModel.java
+++ b/src/main/java/com/rapidminer/gui/dialog/AttributeWeightsTableModel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/dialog/BrowserUnavailableDialogFactory.java b/src/main/java/com/rapidminer/gui/dialog/BrowserUnavailableDialogFactory.java
index 828148c8d..4d5d0b8fd 100644
--- a/src/main/java/com/rapidminer/gui/dialog/BrowserUnavailableDialogFactory.java
+++ b/src/main/java/com/rapidminer/gui/dialog/BrowserUnavailableDialogFactory.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/dialog/BugZillaAssistant.java b/src/main/java/com/rapidminer/gui/dialog/BugZillaAssistant.java
index 9037d6311..83472c94d 100644
--- a/src/main/java/com/rapidminer/gui/dialog/BugZillaAssistant.java
+++ b/src/main/java/com/rapidminer/gui/dialog/BugZillaAssistant.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/dialog/CronEditorDialog.java b/src/main/java/com/rapidminer/gui/dialog/CronEditorDialog.java
index 59c13a417..936f44616 100644
--- a/src/main/java/com/rapidminer/gui/dialog/CronEditorDialog.java
+++ b/src/main/java/com/rapidminer/gui/dialog/CronEditorDialog.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/dialog/EULADialog.java b/src/main/java/com/rapidminer/gui/dialog/EULADialog.java
index 27796b199..97a11e541 100644
--- a/src/main/java/com/rapidminer/gui/dialog/EULADialog.java
+++ b/src/main/java/com/rapidminer/gui/dialog/EULADialog.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/dialog/IndividualSelector.java b/src/main/java/com/rapidminer/gui/dialog/IndividualSelector.java
index e270cda3e..b51ea8fb5 100644
--- a/src/main/java/com/rapidminer/gui/dialog/IndividualSelector.java
+++ b/src/main/java/com/rapidminer/gui/dialog/IndividualSelector.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/dialog/IndividualSelectorTableModel.java b/src/main/java/com/rapidminer/gui/dialog/IndividualSelectorTableModel.java
index 56337ef57..84c33d64f 100644
--- a/src/main/java/com/rapidminer/gui/dialog/IndividualSelectorTableModel.java
+++ b/src/main/java/com/rapidminer/gui/dialog/IndividualSelectorTableModel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/dialog/NewOperatorDialog.java b/src/main/java/com/rapidminer/gui/dialog/NewOperatorDialog.java
index de86e414f..603530b2b 100644
--- a/src/main/java/com/rapidminer/gui/dialog/NewOperatorDialog.java
+++ b/src/main/java/com/rapidminer/gui/dialog/NewOperatorDialog.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/dialog/OperatorInfoPanel.java b/src/main/java/com/rapidminer/gui/dialog/OperatorInfoPanel.java
index 2aad11a74..923dd958d 100644
--- a/src/main/java/com/rapidminer/gui/dialog/OperatorInfoPanel.java
+++ b/src/main/java/com/rapidminer/gui/dialog/OperatorInfoPanel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/dialog/OperatorInfoScreen.java b/src/main/java/com/rapidminer/gui/dialog/OperatorInfoScreen.java
index 3570c70b9..df442b2aa 100644
--- a/src/main/java/com/rapidminer/gui/dialog/OperatorInfoScreen.java
+++ b/src/main/java/com/rapidminer/gui/dialog/OperatorInfoScreen.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/dialog/ResultContainer.java b/src/main/java/com/rapidminer/gui/dialog/ResultContainer.java
index db040baa1..5bcc72bbe 100644
--- a/src/main/java/com/rapidminer/gui/dialog/ResultContainer.java
+++ b/src/main/java/com/rapidminer/gui/dialog/ResultContainer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/dialog/SearchDialog.java b/src/main/java/com/rapidminer/gui/dialog/SearchDialog.java
index 2d6b46d90..99be7a11b 100644
--- a/src/main/java/com/rapidminer/gui/dialog/SearchDialog.java
+++ b/src/main/java/com/rapidminer/gui/dialog/SearchDialog.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/dialog/SearchableJEditTextArea.java b/src/main/java/com/rapidminer/gui/dialog/SearchableJEditTextArea.java
index 94ba7a7ca..98f34c405 100644
--- a/src/main/java/com/rapidminer/gui/dialog/SearchableJEditTextArea.java
+++ b/src/main/java/com/rapidminer/gui/dialog/SearchableJEditTextArea.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/dialog/SearchableJTextComponent.java b/src/main/java/com/rapidminer/gui/dialog/SearchableJTextComponent.java
index 9121758a2..059a76b9b 100644
--- a/src/main/java/com/rapidminer/gui/dialog/SearchableJTextComponent.java
+++ b/src/main/java/com/rapidminer/gui/dialog/SearchableJTextComponent.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/dialog/SearchableTextComponent.java b/src/main/java/com/rapidminer/gui/dialog/SearchableTextComponent.java
index 488ea4886..fb1e3df8b 100644
--- a/src/main/java/com/rapidminer/gui/dialog/SearchableTextComponent.java
+++ b/src/main/java/com/rapidminer/gui/dialog/SearchableTextComponent.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/dialog/UnknownParametersInfoDialog.java b/src/main/java/com/rapidminer/gui/dialog/UnknownParametersInfoDialog.java
index 8b54a9bdb..f14c675e7 100644
--- a/src/main/java/com/rapidminer/gui/dialog/UnknownParametersInfoDialog.java
+++ b/src/main/java/com/rapidminer/gui/dialog/UnknownParametersInfoDialog.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/dnd/AbstractPatchedTransferHandler.java b/src/main/java/com/rapidminer/gui/dnd/AbstractPatchedTransferHandler.java
index 20cbb20e4..d3d015b83 100644
--- a/src/main/java/com/rapidminer/gui/dnd/AbstractPatchedTransferHandler.java
+++ b/src/main/java/com/rapidminer/gui/dnd/AbstractPatchedTransferHandler.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/dnd/DragListener.java b/src/main/java/com/rapidminer/gui/dnd/DragListener.java
index 9129f1633..b0121604d 100644
--- a/src/main/java/com/rapidminer/gui/dnd/DragListener.java
+++ b/src/main/java/com/rapidminer/gui/dnd/DragListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/dnd/OperatorTransferHandler.java b/src/main/java/com/rapidminer/gui/dnd/OperatorTransferHandler.java
index a485c8844..7c9181165 100644
--- a/src/main/java/com/rapidminer/gui/dnd/OperatorTransferHandler.java
+++ b/src/main/java/com/rapidminer/gui/dnd/OperatorTransferHandler.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/dnd/ReceivingOperatorTransferHandler.java b/src/main/java/com/rapidminer/gui/dnd/ReceivingOperatorTransferHandler.java
index 8bcddb4f9..d58ee8e26 100644
--- a/src/main/java/com/rapidminer/gui/dnd/ReceivingOperatorTransferHandler.java
+++ b/src/main/java/com/rapidminer/gui/dnd/ReceivingOperatorTransferHandler.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -27,9 +27,7 @@
import java.util.LinkedList;
import java.util.List;
import java.util.logging.Level;
-
import javax.swing.SwingUtilities;
-import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
@@ -44,6 +42,7 @@
import com.rapidminer.gui.flow.processrendering.annotations.model.WorkflowAnnotation;
import com.rapidminer.gui.tools.SwingTools;
import com.rapidminer.io.process.XMLImporter;
+import com.rapidminer.io.process.XMLTools;
import com.rapidminer.operator.Operator;
import com.rapidminer.operator.OperatorCreationException;
import com.rapidminer.operator.UnknownParameterInformation;
@@ -191,7 +190,7 @@ public void run() {
newOperators = process.getRootOperator().getSubprocess(0).getOperators();
} catch (Exception e) {
try {
- Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder()
+ Document document = XMLTools.createDocumentBuilder()
.parse(new InputSource(new StringReader((String) transferData)));
NodeList opElements = document.getDocumentElement().getChildNodes();
Operator newOp = null;
diff --git a/src/main/java/com/rapidminer/gui/dnd/RepositoryLocationList.java b/src/main/java/com/rapidminer/gui/dnd/RepositoryLocationList.java
index fb714e0ff..796d7dc45 100644
--- a/src/main/java/com/rapidminer/gui/dnd/RepositoryLocationList.java
+++ b/src/main/java/com/rapidminer/gui/dnd/RepositoryLocationList.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/dnd/TransferableAnnotation.java b/src/main/java/com/rapidminer/gui/dnd/TransferableAnnotation.java
index 1f20c5e5d..950c597ff 100644
--- a/src/main/java/com/rapidminer/gui/dnd/TransferableAnnotation.java
+++ b/src/main/java/com/rapidminer/gui/dnd/TransferableAnnotation.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/dnd/TransferableOperator.java b/src/main/java/com/rapidminer/gui/dnd/TransferableOperator.java
index 587b4b63a..203914ed1 100644
--- a/src/main/java/com/rapidminer/gui/dnd/TransferableOperator.java
+++ b/src/main/java/com/rapidminer/gui/dnd/TransferableOperator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -26,7 +26,6 @@
import java.util.List;
import com.rapidminer.operator.Operator;
-import com.rapidminer.repository.RepositoryLocation;
import com.rapidminer.tools.Tools;
@@ -41,12 +40,9 @@ public class TransferableOperator implements Transferable {
public static final DataFlavor LOCAL_TRANSFERRED_OPERATORS_FLAVOR = new DataFlavor(DataFlavor.javaJVMLocalObjectMimeType
+ ";class=" + Operator.class.getName(), "RapidMiner operator");
- public static final DataFlavor LOCAL_TRANSFERRED_REPOSITORY_LOCATION_FLAVOR = new DataFlavor(
- DataFlavor.javaJVMLocalObjectMimeType + ";class=" + RepositoryLocation.class.getName(), "repository location");
+ public static final DataFlavor LOCAL_TRANSFERRED_REPOSITORY_LOCATION_FLAVOR = TransferableRepositoryEntry.LOCAL_TRANSFERRED_REPOSITORY_LOCATION_FLAVOR;
- public static final DataFlavor LOCAL_TRANSFERRED_REPOSITORY_LOCATION_LIST_FLAVOR = new DataFlavor(
- DataFlavor.javaJVMLocalObjectMimeType + ";class=" + RepositoryLocationList.class.getName(),
- "repository locations");
+ public static final DataFlavor LOCAL_TRANSFERRED_REPOSITORY_LOCATION_LIST_FLAVOR = TransferableRepositoryEntry.LOCAL_TRANSFERRED_REPOSITORY_LOCATION_LIST_FLAVOR;
private static final DataFlavor[] DATA_FLAVORS = { TransferableOperator.LOCAL_TRANSFERRED_OPERATORS_FLAVOR,
DataFlavor.stringFlavor };
diff --git a/src/main/java/com/rapidminer/gui/dnd/TransferableRepositoryEntry.java b/src/main/java/com/rapidminer/gui/dnd/TransferableRepositoryEntry.java
new file mode 100644
index 000000000..91538f484
--- /dev/null
+++ b/src/main/java/com/rapidminer/gui/dnd/TransferableRepositoryEntry.java
@@ -0,0 +1,91 @@
+/**
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
+ *
+ * Complete list of developers available at our web site:
+ *
+ * http://rapidminer.com
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the
+ * GNU Affero General Public License as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * 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/.
+*/
+package com.rapidminer.gui.dnd;
+
+import java.awt.datatransfer.DataFlavor;
+import java.awt.datatransfer.Transferable;
+import java.awt.datatransfer.UnsupportedFlavorException;
+import java.util.Arrays;
+
+import com.rapidminer.repository.RepositoryLocation;
+
+
+/**
+ * Provides a transferable wrapper for {@link com.rapidminer.repository.Entry}s in order to drag-n-drop them.
+ *
+ * @author Marco Boeck
+ * @since 8.1
+ */
+public class TransferableRepositoryEntry implements Transferable {
+
+
+ public static final DataFlavor LOCAL_TRANSFERRED_REPOSITORY_LOCATION_FLAVOR = new DataFlavor(
+ DataFlavor.javaJVMLocalObjectMimeType + ";class=" + RepositoryLocation.class.getName(), "repository location");
+
+ public static final DataFlavor LOCAL_TRANSFERRED_REPOSITORY_LOCATION_LIST_FLAVOR = new DataFlavor(
+ DataFlavor.javaJVMLocalObjectMimeType + ";class=" + RepositoryLocationList.class.getName(),
+ "repository locations");
+
+ private static final DataFlavor[] DATA_FLAVORS = { LOCAL_TRANSFERRED_REPOSITORY_LOCATION_FLAVOR, LOCAL_TRANSFERRED_REPOSITORY_LOCATION_LIST_FLAVOR,
+ DataFlavor.stringFlavor };
+
+ private final RepositoryLocation[] location;
+
+ /**
+ * The transferable location(s).
+ *
+ * @param location
+ * the location(s) of the entry/entries which should be drag & dropped
+ */
+ public TransferableRepositoryEntry(RepositoryLocation... location) {
+ if (location == null) {
+ throw new IllegalArgumentException("location must not be null!");
+ }
+
+ this.location = location;
+ }
+
+ @Override
+ public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException {
+ if (flavor.equals(LOCAL_TRANSFERRED_REPOSITORY_LOCATION_FLAVOR)) {
+ return location[0];
+ } else if (flavor.equals(LOCAL_TRANSFERRED_REPOSITORY_LOCATION_LIST_FLAVOR)) {
+ return location;
+ } else if (flavor.equals(DataFlavor.stringFlavor)) {
+ if (location.length == 1) {
+ return location[0].toString();
+ } else {
+ return Arrays.toString(location);
+ }
+ } else {
+ throw new UnsupportedFlavorException(flavor);
+ }
+ }
+
+ @Override
+ public boolean isDataFlavorSupported(DataFlavor flavor) {
+ return Arrays.asList(DATA_FLAVORS).contains(flavor);
+ }
+
+ @Override
+ public DataFlavor[] getTransferDataFlavors() {
+ return DATA_FLAVORS;
+ }
+
+}
diff --git a/src/main/java/com/rapidminer/gui/docking/DetachedDockViewAsTab.java b/src/main/java/com/rapidminer/gui/docking/DetachedDockViewAsTab.java
index 3ce7b1a80..738cafd9a 100644
--- a/src/main/java/com/rapidminer/gui/docking/DetachedDockViewAsTab.java
+++ b/src/main/java/com/rapidminer/gui/docking/DetachedDockViewAsTab.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/docking/RapidDockableContainerFactory.java b/src/main/java/com/rapidminer/gui/docking/RapidDockableContainerFactory.java
index 1acca0a9c..b03ecf881 100644
--- a/src/main/java/com/rapidminer/gui/docking/RapidDockableContainerFactory.java
+++ b/src/main/java/com/rapidminer/gui/docking/RapidDockableContainerFactory.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/docking/RapidDockingToolbar.java b/src/main/java/com/rapidminer/gui/docking/RapidDockingToolbar.java
index 9f44949da..b7664b4fb 100644
--- a/src/main/java/com/rapidminer/gui/docking/RapidDockingToolbar.java
+++ b/src/main/java/com/rapidminer/gui/docking/RapidDockingToolbar.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/docking/RapidFloatingDialog.java b/src/main/java/com/rapidminer/gui/docking/RapidFloatingDialog.java
index d66ddc101..b197506e0 100644
--- a/src/main/java/com/rapidminer/gui/docking/RapidFloatingDialog.java
+++ b/src/main/java/com/rapidminer/gui/docking/RapidFloatingDialog.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/AutoWireThread.java b/src/main/java/com/rapidminer/gui/flow/AutoWireThread.java
index d31702ffb..f1eb4c2a7 100644
--- a/src/main/java/com/rapidminer/gui/flow/AutoWireThread.java
+++ b/src/main/java/com/rapidminer/gui/flow/AutoWireThread.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/ErrorTable.java b/src/main/java/com/rapidminer/gui/flow/ErrorTable.java
index 298c6eb39..1365cd2af 100644
--- a/src/main/java/com/rapidminer/gui/flow/ErrorTable.java
+++ b/src/main/java/com/rapidminer/gui/flow/ErrorTable.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/ExampleSetMetaDataTableModel.java b/src/main/java/com/rapidminer/gui/flow/ExampleSetMetaDataTableModel.java
index 215c31d19..1de614828 100644
--- a/src/main/java/com/rapidminer/gui/flow/ExampleSetMetaDataTableModel.java
+++ b/src/main/java/com/rapidminer/gui/flow/ExampleSetMetaDataTableModel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/ExtensionButton.java b/src/main/java/com/rapidminer/gui/flow/ExtensionButton.java
index 0905c8b24..3d9a2a4c6 100644
--- a/src/main/java/com/rapidminer/gui/flow/ExtensionButton.java
+++ b/src/main/java/com/rapidminer/gui/flow/ExtensionButton.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/FlowVisualizer.java b/src/main/java/com/rapidminer/gui/flow/FlowVisualizer.java
index fee6ca848..c3ddef438 100644
--- a/src/main/java/com/rapidminer/gui/flow/FlowVisualizer.java
+++ b/src/main/java/com/rapidminer/gui/flow/FlowVisualizer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/NewProcessUndoManager.java b/src/main/java/com/rapidminer/gui/flow/NewProcessUndoManager.java
index 788de741b..2fe109fa4 100644
--- a/src/main/java/com/rapidminer/gui/flow/NewProcessUndoManager.java
+++ b/src/main/java/com/rapidminer/gui/flow/NewProcessUndoManager.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/OverviewPanel.java b/src/main/java/com/rapidminer/gui/flow/OverviewPanel.java
index 8728eaadb..a1d56f558 100644
--- a/src/main/java/com/rapidminer/gui/flow/OverviewPanel.java
+++ b/src/main/java/com/rapidminer/gui/flow/OverviewPanel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/PanningManager.java b/src/main/java/com/rapidminer/gui/flow/PanningManager.java
index 49eb418ef..09a481113 100644
--- a/src/main/java/com/rapidminer/gui/flow/PanningManager.java
+++ b/src/main/java/com/rapidminer/gui/flow/PanningManager.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/ProcessButtonBar.java b/src/main/java/com/rapidminer/gui/flow/ProcessButtonBar.java
index 80d22a8fe..90b7b1f5c 100644
--- a/src/main/java/com/rapidminer/gui/flow/ProcessButtonBar.java
+++ b/src/main/java/com/rapidminer/gui/flow/ProcessButtonBar.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/ProcessInteractionListener.java b/src/main/java/com/rapidminer/gui/flow/ProcessInteractionListener.java
index 1fe18c33f..35cab2311 100644
--- a/src/main/java/com/rapidminer/gui/flow/ProcessInteractionListener.java
+++ b/src/main/java/com/rapidminer/gui/flow/ProcessInteractionListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/ProcessPanel.java b/src/main/java/com/rapidminer/gui/flow/ProcessPanel.java
index 5d31c0454..b5d46f342 100644
--- a/src/main/java/com/rapidminer/gui/flow/ProcessPanel.java
+++ b/src/main/java/com/rapidminer/gui/flow/ProcessPanel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -390,7 +390,7 @@ public void loggedActionPerformed(ActionEvent e) {
toolBar.add(zoomOut);
toolBar.add(annotationsHandler.makeAddAnnotationAction(null), ViewToolBar.RIGHT);
- toolBar.add(new AutoWireAction(mainFrame), ViewToolBar.RIGHT);
+ toolBar.add(new AutoWireAction(), ViewToolBar.RIGHT);
toolBar.add(flowVisualizer.SHOW_ORDER_TOGGLEBUTTON, ViewToolBar.RIGHT);
toolBar.add(renderer.getAutoFitAction(), ViewToolBar.RIGHT);
@@ -615,7 +615,7 @@ private Rectangle getOpViewRect(Rectangle2D opRect, int pIndex) {
* @param center
* the point to focus on
* @since 7.5
- * @see #scrollToProcessPosition(Point)
+ * @see #scrollToProcessPosition(Point, int)
*/
public void scrollToViewPosition(Point center) {
getViewPort().scrollRectToVisible(getScrollRectangle(center));
diff --git a/src/main/java/com/rapidminer/gui/flow/ProcessPanelScroller.java b/src/main/java/com/rapidminer/gui/flow/ProcessPanelScroller.java
index 8d8390d21..8901970f4 100644
--- a/src/main/java/com/rapidminer/gui/flow/ProcessPanelScroller.java
+++ b/src/main/java/com/rapidminer/gui/flow/ProcessPanelScroller.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/ProcessParentButtonModel.java b/src/main/java/com/rapidminer/gui/flow/ProcessParentButtonModel.java
index 1435932dd..4423c6b6e 100644
--- a/src/main/java/com/rapidminer/gui/flow/ProcessParentButtonModel.java
+++ b/src/main/java/com/rapidminer/gui/flow/ProcessParentButtonModel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/ProcessUndoManager.java b/src/main/java/com/rapidminer/gui/flow/ProcessUndoManager.java
index 3dd45e53e..60f2db94f 100644
--- a/src/main/java/com/rapidminer/gui/flow/ProcessUndoManager.java
+++ b/src/main/java/com/rapidminer/gui/flow/ProcessUndoManager.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/QuickFixDialog.java b/src/main/java/com/rapidminer/gui/flow/QuickFixDialog.java
index 4a50c5581..ae72314f5 100644
--- a/src/main/java/com/rapidminer/gui/flow/QuickFixDialog.java
+++ b/src/main/java/com/rapidminer/gui/flow/QuickFixDialog.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/AnnotationDrawUtils.java b/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/AnnotationDrawUtils.java
index 2fe14022d..45ee8a99e 100644
--- a/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/AnnotationDrawUtils.java
+++ b/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/AnnotationDrawUtils.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/AnnotationDrawer.java b/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/AnnotationDrawer.java
index 329ec05cf..b3b4a614b 100644
--- a/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/AnnotationDrawer.java
+++ b/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/AnnotationDrawer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/AnnotationsDecorator.java b/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/AnnotationsDecorator.java
index 02847e38d..ba4e9e7b4 100644
--- a/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/AnnotationsDecorator.java
+++ b/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/AnnotationsDecorator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/AnnotationsVisualizer.java b/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/AnnotationsVisualizer.java
index 3070bf0f1..b31ba57c0 100644
--- a/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/AnnotationsVisualizer.java
+++ b/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/AnnotationsVisualizer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/PasteAnnotationProxyAction.java b/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/PasteAnnotationProxyAction.java
index e1926f687..e8507727b 100644
--- a/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/PasteAnnotationProxyAction.java
+++ b/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/PasteAnnotationProxyAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/TransferHandlerAnnotationPlaintext.java b/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/TransferHandlerAnnotationPlaintext.java
index ec0628a01..68ddd7ffd 100644
--- a/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/TransferHandlerAnnotationPlaintext.java
+++ b/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/TransferHandlerAnnotationPlaintext.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/event/AnnotationEventHook.java b/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/event/AnnotationEventHook.java
index 7e3dfb1ad..7789f8d9b 100644
--- a/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/event/AnnotationEventHook.java
+++ b/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/event/AnnotationEventHook.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/model/AnnotationDragHelper.java b/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/model/AnnotationDragHelper.java
index 0a53c76fa..6adc82246 100644
--- a/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/model/AnnotationDragHelper.java
+++ b/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/model/AnnotationDragHelper.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/model/AnnotationResizeHelper.java b/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/model/AnnotationResizeHelper.java
index 368ef7408..c316bfa41 100644
--- a/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/model/AnnotationResizeHelper.java
+++ b/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/model/AnnotationResizeHelper.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/model/AnnotationsModel.java b/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/model/AnnotationsModel.java
index 871013cde..677a4beed 100644
--- a/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/model/AnnotationsModel.java
+++ b/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/model/AnnotationsModel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/model/OperatorAnnotation.java b/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/model/OperatorAnnotation.java
index 3c01bb34b..8ffd686be 100644
--- a/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/model/OperatorAnnotation.java
+++ b/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/model/OperatorAnnotation.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/model/ProcessAnnotation.java b/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/model/ProcessAnnotation.java
index 386a8708b..3f817f121 100644
--- a/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/model/ProcessAnnotation.java
+++ b/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/model/ProcessAnnotation.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/model/WorkflowAnnotation.java b/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/model/WorkflowAnnotation.java
index 48390827e..eeddb2983 100644
--- a/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/model/WorkflowAnnotation.java
+++ b/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/model/WorkflowAnnotation.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/model/WorkflowAnnotations.java b/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/model/WorkflowAnnotations.java
index ede60985f..3a6edec29 100644
--- a/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/model/WorkflowAnnotations.java
+++ b/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/model/WorkflowAnnotations.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/style/AnnotationAlignment.java b/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/style/AnnotationAlignment.java
index 6f8ebe51f..5296ea260 100644
--- a/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/style/AnnotationAlignment.java
+++ b/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/style/AnnotationAlignment.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/style/AnnotationColor.java b/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/style/AnnotationColor.java
index c947e862c..5a36b4e89 100644
--- a/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/style/AnnotationColor.java
+++ b/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/style/AnnotationColor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/style/AnnotationStyle.java b/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/style/AnnotationStyle.java
index 3b482cde0..48272dd9e 100644
--- a/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/style/AnnotationStyle.java
+++ b/src/main/java/com/rapidminer/gui/flow/processrendering/annotations/style/AnnotationStyle.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/processrendering/background/ProcessBackgroundImage.java b/src/main/java/com/rapidminer/gui/flow/processrendering/background/ProcessBackgroundImage.java
index 94b1625fd..681b865f9 100644
--- a/src/main/java/com/rapidminer/gui/flow/processrendering/background/ProcessBackgroundImage.java
+++ b/src/main/java/com/rapidminer/gui/flow/processrendering/background/ProcessBackgroundImage.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/processrendering/background/ProcessBackgroundImageDecorator.java b/src/main/java/com/rapidminer/gui/flow/processrendering/background/ProcessBackgroundImageDecorator.java
index 3d81670a1..f650a14f0 100644
--- a/src/main/java/com/rapidminer/gui/flow/processrendering/background/ProcessBackgroundImageDecorator.java
+++ b/src/main/java/com/rapidminer/gui/flow/processrendering/background/ProcessBackgroundImageDecorator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/processrendering/background/ProcessBackgroundImageVisualizer.java b/src/main/java/com/rapidminer/gui/flow/processrendering/background/ProcessBackgroundImageVisualizer.java
index 0976b0912..6830bb490 100644
--- a/src/main/java/com/rapidminer/gui/flow/processrendering/background/ProcessBackgroundImageVisualizer.java
+++ b/src/main/java/com/rapidminer/gui/flow/processrendering/background/ProcessBackgroundImageVisualizer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/processrendering/connections/ConnectionDrawUtils.java b/src/main/java/com/rapidminer/gui/flow/processrendering/connections/ConnectionDrawUtils.java
index 260a78d09..2ecfbbeed 100644
--- a/src/main/java/com/rapidminer/gui/flow/processrendering/connections/ConnectionDrawUtils.java
+++ b/src/main/java/com/rapidminer/gui/flow/processrendering/connections/ConnectionDrawUtils.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/processrendering/connections/RemoveHoveredConnectionDecorator.java b/src/main/java/com/rapidminer/gui/flow/processrendering/connections/RemoveHoveredConnectionDecorator.java
index 4adbc8a07..80abeeddc 100644
--- a/src/main/java/com/rapidminer/gui/flow/processrendering/connections/RemoveHoveredConnectionDecorator.java
+++ b/src/main/java/com/rapidminer/gui/flow/processrendering/connections/RemoveHoveredConnectionDecorator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/processrendering/connections/RemoveSelectedConnectionDecorator.java b/src/main/java/com/rapidminer/gui/flow/processrendering/connections/RemoveSelectedConnectionDecorator.java
index d950ac86d..438484bfb 100644
--- a/src/main/java/com/rapidminer/gui/flow/processrendering/connections/RemoveSelectedConnectionDecorator.java
+++ b/src/main/java/com/rapidminer/gui/flow/processrendering/connections/RemoveSelectedConnectionDecorator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/processrendering/draw/OperatorDrawDecorator.java b/src/main/java/com/rapidminer/gui/flow/processrendering/draw/OperatorDrawDecorator.java
index 58d44bdb4..627d52d3a 100644
--- a/src/main/java/com/rapidminer/gui/flow/processrendering/draw/OperatorDrawDecorator.java
+++ b/src/main/java/com/rapidminer/gui/flow/processrendering/draw/OperatorDrawDecorator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/processrendering/draw/ProcessDrawDecorator.java b/src/main/java/com/rapidminer/gui/flow/processrendering/draw/ProcessDrawDecorator.java
index 468f8e4f8..23f865c75 100644
--- a/src/main/java/com/rapidminer/gui/flow/processrendering/draw/ProcessDrawDecorator.java
+++ b/src/main/java/com/rapidminer/gui/flow/processrendering/draw/ProcessDrawDecorator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/processrendering/draw/ProcessDrawUtils.java b/src/main/java/com/rapidminer/gui/flow/processrendering/draw/ProcessDrawUtils.java
index 3f1b47540..6935f0db1 100644
--- a/src/main/java/com/rapidminer/gui/flow/processrendering/draw/ProcessDrawUtils.java
+++ b/src/main/java/com/rapidminer/gui/flow/processrendering/draw/ProcessDrawUtils.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/processrendering/draw/ProcessDrawer.java b/src/main/java/com/rapidminer/gui/flow/processrendering/draw/ProcessDrawer.java
index b5910d748..9f2f5da93 100644
--- a/src/main/java/com/rapidminer/gui/flow/processrendering/draw/ProcessDrawer.java
+++ b/src/main/java/com/rapidminer/gui/flow/processrendering/draw/ProcessDrawer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/processrendering/event/ProcessRendererAnnotationEvent.java b/src/main/java/com/rapidminer/gui/flow/processrendering/event/ProcessRendererAnnotationEvent.java
index fb8ad3b20..805de8884 100644
--- a/src/main/java/com/rapidminer/gui/flow/processrendering/event/ProcessRendererAnnotationEvent.java
+++ b/src/main/java/com/rapidminer/gui/flow/processrendering/event/ProcessRendererAnnotationEvent.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/processrendering/event/ProcessRendererEventListener.java b/src/main/java/com/rapidminer/gui/flow/processrendering/event/ProcessRendererEventListener.java
index 7c57f8731..c61908e9b 100644
--- a/src/main/java/com/rapidminer/gui/flow/processrendering/event/ProcessRendererEventListener.java
+++ b/src/main/java/com/rapidminer/gui/flow/processrendering/event/ProcessRendererEventListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/processrendering/event/ProcessRendererModelEvent.java b/src/main/java/com/rapidminer/gui/flow/processrendering/event/ProcessRendererModelEvent.java
index eb84af198..a86ddd6c1 100644
--- a/src/main/java/com/rapidminer/gui/flow/processrendering/event/ProcessRendererModelEvent.java
+++ b/src/main/java/com/rapidminer/gui/flow/processrendering/event/ProcessRendererModelEvent.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/processrendering/event/ProcessRendererOperatorEvent.java b/src/main/java/com/rapidminer/gui/flow/processrendering/event/ProcessRendererOperatorEvent.java
index 842a89fbe..abc9ef932 100644
--- a/src/main/java/com/rapidminer/gui/flow/processrendering/event/ProcessRendererOperatorEvent.java
+++ b/src/main/java/com/rapidminer/gui/flow/processrendering/event/ProcessRendererOperatorEvent.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/processrendering/model/ProcessRendererModel.java b/src/main/java/com/rapidminer/gui/flow/processrendering/model/ProcessRendererModel.java
index c5b40074e..824682921 100644
--- a/src/main/java/com/rapidminer/gui/flow/processrendering/model/ProcessRendererModel.java
+++ b/src/main/java/com/rapidminer/gui/flow/processrendering/model/ProcessRendererModel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -55,6 +55,7 @@
import com.rapidminer.gui.processeditor.ExtendedProcessEditor;
import com.rapidminer.gui.processeditor.ProcessEditor;
import com.rapidminer.io.process.AnnotationProcessXMLFilter;
+import com.rapidminer.io.process.AutoModelProcessXMLFilter;
import com.rapidminer.io.process.BackgroundImageProcessXMLFilter;
import com.rapidminer.io.process.GUIProcessXMLFilter;
import com.rapidminer.io.process.ProcessLayoutXMLFilter;
@@ -87,6 +88,10 @@
* methods. This is done for performance reasons and to support batch updates and only trigger
* events when really needed.
*
+ *
+ * The model should be disposed of if it is no longer needed using the {@link #dispose()} method.
+ * Take note that it can not be reliably used after that call.
+ *
*
* @author Marco Boeck, Jan Czogalla
* @since 6.4.0
@@ -155,6 +160,8 @@ public final class ProcessRendererModel {
/** whether snap to grid is enabled */
private boolean snapToGrid;
+ private ParameterChangeListener paramListener;
+
/** source port of the current connection */
private OutputPort selectedConnectionSource;
@@ -210,6 +217,7 @@ public final class ProcessRendererModel {
static {
if (!RapidMiner.getExecutionMode().isHeadless()) {
ProcessXMLFilterRegistry.registerFilter(new GUIProcessXMLFilter());
+ ProcessXMLFilterRegistry.registerFilter(new AutoModelProcessXMLFilter());
}
}
@@ -226,7 +234,7 @@ public ProcessRendererModel() {
this.hoveringProcessIndex = -1;
// listen for snapToGrid changes
- ParameterService.registerParameterChangeListener(new ParameterChangeListener() {
+ paramListener = new ParameterChangeListener() {
@Override
public void informParameterSaved() {
@@ -239,7 +247,8 @@ public void informParameterChanged(String key, String value) {
setSnapToGrid(Boolean.parseBoolean(value));
}
}
- });
+ };
+ ParameterService.registerParameterChangeListener(paramListener);
// listen for selection changes in the ProcessRendererView and notify all registered process
// editors
@@ -1930,4 +1939,16 @@ private void fireProcessStored() {
l.stored(process);
}
}
+
+ /**
+ * Disposes of this model. Removes the global {@link ParameterChangeListener} and clears the
+ * {@link NewProcessUndoManager}. This should be called if the model is no longer used and is
+ * expected to be garbage collected. It can not be used reliably after this call.
+ *
+ * @since 8.1
+ */
+ public void dispose() {
+ undoManager.reset();
+ ParameterService.removeParameterChangeListener(paramListener);
+ }
}
diff --git a/src/main/java/com/rapidminer/gui/flow/processrendering/view/ProcessEventDecorator.java b/src/main/java/com/rapidminer/gui/flow/processrendering/view/ProcessEventDecorator.java
index 58f82f47c..05cfde596 100644
--- a/src/main/java/com/rapidminer/gui/flow/processrendering/view/ProcessEventDecorator.java
+++ b/src/main/java/com/rapidminer/gui/flow/processrendering/view/ProcessEventDecorator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/processrendering/view/ProcessRendererController.java b/src/main/java/com/rapidminer/gui/flow/processrendering/view/ProcessRendererController.java
index 2030fc014..106ebfe75 100644
--- a/src/main/java/com/rapidminer/gui/flow/processrendering/view/ProcessRendererController.java
+++ b/src/main/java/com/rapidminer/gui/flow/processrendering/view/ProcessRendererController.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/processrendering/view/ProcessRendererDropTarget.java b/src/main/java/com/rapidminer/gui/flow/processrendering/view/ProcessRendererDropTarget.java
index f9745ac9e..8d76f7d16 100644
--- a/src/main/java/com/rapidminer/gui/flow/processrendering/view/ProcessRendererDropTarget.java
+++ b/src/main/java/com/rapidminer/gui/flow/processrendering/view/ProcessRendererDropTarget.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/processrendering/view/ProcessRendererMouseHandler.java b/src/main/java/com/rapidminer/gui/flow/processrendering/view/ProcessRendererMouseHandler.java
index 7bd25494f..84cccea16 100644
--- a/src/main/java/com/rapidminer/gui/flow/processrendering/view/ProcessRendererMouseHandler.java
+++ b/src/main/java/com/rapidminer/gui/flow/processrendering/view/ProcessRendererMouseHandler.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/processrendering/view/ProcessRendererTransferHandler.java b/src/main/java/com/rapidminer/gui/flow/processrendering/view/ProcessRendererTransferHandler.java
index 6b8f2136e..2a75a792b 100644
--- a/src/main/java/com/rapidminer/gui/flow/processrendering/view/ProcessRendererTransferHandler.java
+++ b/src/main/java/com/rapidminer/gui/flow/processrendering/view/ProcessRendererTransferHandler.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/processrendering/view/ProcessRendererView.java b/src/main/java/com/rapidminer/gui/flow/processrendering/view/ProcessRendererView.java
index 0fcca00ec..a39829fb1 100644
--- a/src/main/java/com/rapidminer/gui/flow/processrendering/view/ProcessRendererView.java
+++ b/src/main/java/com/rapidminer/gui/flow/processrendering/view/ProcessRendererView.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/processrendering/view/RenderPhase.java b/src/main/java/com/rapidminer/gui/flow/processrendering/view/RenderPhase.java
index a4c52a459..995780264 100644
--- a/src/main/java/com/rapidminer/gui/flow/processrendering/view/RenderPhase.java
+++ b/src/main/java/com/rapidminer/gui/flow/processrendering/view/RenderPhase.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/processrendering/view/RepaintFilter.java b/src/main/java/com/rapidminer/gui/flow/processrendering/view/RepaintFilter.java
index 155688a18..4f368667b 100644
--- a/src/main/java/com/rapidminer/gui/flow/processrendering/view/RepaintFilter.java
+++ b/src/main/java/com/rapidminer/gui/flow/processrendering/view/RepaintFilter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/processrendering/view/actions/ArrangeOperatorsAction.java b/src/main/java/com/rapidminer/gui/flow/processrendering/view/actions/ArrangeOperatorsAction.java
index e6174794f..6ac970d93 100644
--- a/src/main/java/com/rapidminer/gui/flow/processrendering/view/actions/ArrangeOperatorsAction.java
+++ b/src/main/java/com/rapidminer/gui/flow/processrendering/view/actions/ArrangeOperatorsAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/processrendering/view/actions/AutoFitAction.java b/src/main/java/com/rapidminer/gui/flow/processrendering/view/actions/AutoFitAction.java
index 4dc1ccb65..7dd12706d 100644
--- a/src/main/java/com/rapidminer/gui/flow/processrendering/view/actions/AutoFitAction.java
+++ b/src/main/java/com/rapidminer/gui/flow/processrendering/view/actions/AutoFitAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/processrendering/view/actions/DeleteSelectedConnectionAction.java b/src/main/java/com/rapidminer/gui/flow/processrendering/view/actions/DeleteSelectedConnectionAction.java
index 087ca8a12..16c42d080 100644
--- a/src/main/java/com/rapidminer/gui/flow/processrendering/view/actions/DeleteSelectedConnectionAction.java
+++ b/src/main/java/com/rapidminer/gui/flow/processrendering/view/actions/DeleteSelectedConnectionAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/processrendering/view/actions/RenameAction.java b/src/main/java/com/rapidminer/gui/flow/processrendering/view/actions/RenameAction.java
index 0d03829fb..e0ca5cee3 100644
--- a/src/main/java/com/rapidminer/gui/flow/processrendering/view/actions/RenameAction.java
+++ b/src/main/java/com/rapidminer/gui/flow/processrendering/view/actions/RenameAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/processrendering/view/actions/SelectAllAction.java b/src/main/java/com/rapidminer/gui/flow/processrendering/view/actions/SelectAllAction.java
index c9fb57bd3..71fb1c776 100644
--- a/src/main/java/com/rapidminer/gui/flow/processrendering/view/actions/SelectAllAction.java
+++ b/src/main/java/com/rapidminer/gui/flow/processrendering/view/actions/SelectAllAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -54,6 +54,12 @@ public void loggedActionPerformed(final ActionEvent e) {
for (ExecutionUnit unit : view.getModel().getProcesses()) {
selected.addAll(unit.getOperators());
}
+
+ // On an empty process, select the displayed operator chain instead
+ if (selected.isEmpty()) {
+ selected.add(view.getModel().getDisplayedChain());
+ }
+
view.getModel().addOperatorsToSelection(selected);
view.getModel().fireOperatorSelectionChanged(selected);
}
diff --git a/src/main/java/com/rapidminer/gui/flow/processrendering/view/components/InterpolationMap.java b/src/main/java/com/rapidminer/gui/flow/processrendering/view/components/InterpolationMap.java
index 5511f557d..c3c3e281d 100644
--- a/src/main/java/com/rapidminer/gui/flow/processrendering/view/components/InterpolationMap.java
+++ b/src/main/java/com/rapidminer/gui/flow/processrendering/view/components/InterpolationMap.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/processrendering/view/components/OperatorWarningHandler.java b/src/main/java/com/rapidminer/gui/flow/processrendering/view/components/OperatorWarningHandler.java
index bf38d4807..2a6cd46b3 100644
--- a/src/main/java/com/rapidminer/gui/flow/processrendering/view/components/OperatorWarningHandler.java
+++ b/src/main/java/com/rapidminer/gui/flow/processrendering/view/components/OperatorWarningHandler.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/flow/processrendering/view/components/ProcessRendererTooltipProvider.java b/src/main/java/com/rapidminer/gui/flow/processrendering/view/components/ProcessRendererTooltipProvider.java
index be733944e..2e3dedca2 100644
--- a/src/main/java/com/rapidminer/gui/flow/processrendering/view/components/ProcessRendererTooltipProvider.java
+++ b/src/main/java/com/rapidminer/gui/flow/processrendering/view/components/ProcessRendererTooltipProvider.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/graphs/AssociationRulesGraphCreator.java b/src/main/java/com/rapidminer/gui/graphs/AssociationRulesGraphCreator.java
index 5a1c60338..c44b24cba 100644
--- a/src/main/java/com/rapidminer/gui/graphs/AssociationRulesGraphCreator.java
+++ b/src/main/java/com/rapidminer/gui/graphs/AssociationRulesGraphCreator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/graphs/BasicVertexShapeTransformer.java b/src/main/java/com/rapidminer/gui/graphs/BasicVertexShapeTransformer.java
index ad53cdcab..375f9a73b 100644
--- a/src/main/java/com/rapidminer/gui/graphs/BasicVertexShapeTransformer.java
+++ b/src/main/java/com/rapidminer/gui/graphs/BasicVertexShapeTransformer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/graphs/ClusterModelGraphCreator.java b/src/main/java/com/rapidminer/gui/graphs/ClusterModelGraphCreator.java
index 189c2dbf0..f63b1ad0a 100644
--- a/src/main/java/com/rapidminer/gui/graphs/ClusterModelGraphCreator.java
+++ b/src/main/java/com/rapidminer/gui/graphs/ClusterModelGraphCreator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/graphs/ClusterModelObjectViewer.java b/src/main/java/com/rapidminer/gui/graphs/ClusterModelObjectViewer.java
index 052e024b2..419e98cbd 100644
--- a/src/main/java/com/rapidminer/gui/graphs/ClusterModelObjectViewer.java
+++ b/src/main/java/com/rapidminer/gui/graphs/ClusterModelObjectViewer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/graphs/DefaultObjectViewer.java b/src/main/java/com/rapidminer/gui/graphs/DefaultObjectViewer.java
index 655c8aad8..43c4e0e52 100644
--- a/src/main/java/com/rapidminer/gui/graphs/DefaultObjectViewer.java
+++ b/src/main/java/com/rapidminer/gui/graphs/DefaultObjectViewer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/graphs/ExtendedVertexShapeTransformer.java b/src/main/java/com/rapidminer/gui/graphs/ExtendedVertexShapeTransformer.java
index c98a99fdb..748e6231f 100644
--- a/src/main/java/com/rapidminer/gui/graphs/ExtendedVertexShapeTransformer.java
+++ b/src/main/java/com/rapidminer/gui/graphs/ExtendedVertexShapeTransformer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/graphs/GraphCreator.java b/src/main/java/com/rapidminer/gui/graphs/GraphCreator.java
index c775fb366..202b6448c 100644
--- a/src/main/java/com/rapidminer/gui/graphs/GraphCreator.java
+++ b/src/main/java/com/rapidminer/gui/graphs/GraphCreator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/graphs/GraphCreatorAdaptor.java b/src/main/java/com/rapidminer/gui/graphs/GraphCreatorAdaptor.java
index 0d5569ada..b694356c9 100644
--- a/src/main/java/com/rapidminer/gui/graphs/GraphCreatorAdaptor.java
+++ b/src/main/java/com/rapidminer/gui/graphs/GraphCreatorAdaptor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/graphs/GraphObjectViewer.java b/src/main/java/com/rapidminer/gui/graphs/GraphObjectViewer.java
index 483d23fb1..2b9e39353 100644
--- a/src/main/java/com/rapidminer/gui/graphs/GraphObjectViewer.java
+++ b/src/main/java/com/rapidminer/gui/graphs/GraphObjectViewer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/graphs/GraphViewer.java b/src/main/java/com/rapidminer/gui/graphs/GraphViewer.java
index e0a5d154b..faec50694 100644
--- a/src/main/java/com/rapidminer/gui/graphs/GraphViewer.java
+++ b/src/main/java/com/rapidminer/gui/graphs/GraphViewer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/graphs/LayoutSelection.java b/src/main/java/com/rapidminer/gui/graphs/LayoutSelection.java
index 04fc102f5..3b2229ae8 100644
--- a/src/main/java/com/rapidminer/gui/graphs/LayoutSelection.java
+++ b/src/main/java/com/rapidminer/gui/graphs/LayoutSelection.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/graphs/ShapeBasedTreeLayout.java b/src/main/java/com/rapidminer/gui/graphs/ShapeBasedTreeLayout.java
index 7652c6abe..b2abb34d5 100644
--- a/src/main/java/com/rapidminer/gui/graphs/ShapeBasedTreeLayout.java
+++ b/src/main/java/com/rapidminer/gui/graphs/ShapeBasedTreeLayout.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/graphs/SimilarityGraphCreator.java b/src/main/java/com/rapidminer/gui/graphs/SimilarityGraphCreator.java
index 406114294..4111960ff 100644
--- a/src/main/java/com/rapidminer/gui/graphs/SimilarityGraphCreator.java
+++ b/src/main/java/com/rapidminer/gui/graphs/SimilarityGraphCreator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/graphs/SingleDefaultGraphMouse.java b/src/main/java/com/rapidminer/gui/graphs/SingleDefaultGraphMouse.java
index f48100443..8a6a670ef 100644
--- a/src/main/java/com/rapidminer/gui/graphs/SingleDefaultGraphMouse.java
+++ b/src/main/java/com/rapidminer/gui/graphs/SingleDefaultGraphMouse.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 RapidMiner GmbH
+ * Copyright (C) 2001-2018 RapidMiner GmbH
*/
package com.rapidminer.gui.graphs;
diff --git a/src/main/java/com/rapidminer/gui/graphs/SortableEdge.java b/src/main/java/com/rapidminer/gui/graphs/SortableEdge.java
index 52494a4eb..080a46137 100644
--- a/src/main/java/com/rapidminer/gui/graphs/SortableEdge.java
+++ b/src/main/java/com/rapidminer/gui/graphs/SortableEdge.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/graphs/TransitionGraphCreator.java b/src/main/java/com/rapidminer/gui/graphs/TransitionGraphCreator.java
index 6481c6d57..16a5f5b26 100644
--- a/src/main/java/com/rapidminer/gui/graphs/TransitionGraphCreator.java
+++ b/src/main/java/com/rapidminer/gui/graphs/TransitionGraphCreator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/graphs/TreeModelEdgeLabelRenderer.java b/src/main/java/com/rapidminer/gui/graphs/TreeModelEdgeLabelRenderer.java
index 9c653c6ac..a12f16000 100644
--- a/src/main/java/com/rapidminer/gui/graphs/TreeModelEdgeLabelRenderer.java
+++ b/src/main/java/com/rapidminer/gui/graphs/TreeModelEdgeLabelRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/graphs/TreeModelGraphCreator.java b/src/main/java/com/rapidminer/gui/graphs/TreeModelGraphCreator.java
index cf3c60439..90e7fffe5 100644
--- a/src/main/java/com/rapidminer/gui/graphs/TreeModelGraphCreator.java
+++ b/src/main/java/com/rapidminer/gui/graphs/TreeModelGraphCreator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/graphs/TreeModelNodeLabelRenderer.java b/src/main/java/com/rapidminer/gui/graphs/TreeModelNodeLabelRenderer.java
index f629f9555..a1a56f8f6 100644
--- a/src/main/java/com/rapidminer/gui/graphs/TreeModelNodeLabelRenderer.java
+++ b/src/main/java/com/rapidminer/gui/graphs/TreeModelNodeLabelRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/graphs/TreeModelNodeRenderer.java b/src/main/java/com/rapidminer/gui/graphs/TreeModelNodeRenderer.java
index 30e67e485..7bb1a44b0 100644
--- a/src/main/java/com/rapidminer/gui/graphs/TreeModelNodeRenderer.java
+++ b/src/main/java/com/rapidminer/gui/graphs/TreeModelNodeRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/graphs/actions/ZoomInAction.java b/src/main/java/com/rapidminer/gui/graphs/actions/ZoomInAction.java
index 2ce77cea6..03a2e9206 100644
--- a/src/main/java/com/rapidminer/gui/graphs/actions/ZoomInAction.java
+++ b/src/main/java/com/rapidminer/gui/graphs/actions/ZoomInAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/graphs/actions/ZoomOutAction.java b/src/main/java/com/rapidminer/gui/graphs/actions/ZoomOutAction.java
index 319d3c09f..364d15cb3 100644
--- a/src/main/java/com/rapidminer/gui/graphs/actions/ZoomOutAction.java
+++ b/src/main/java/com/rapidminer/gui/graphs/actions/ZoomOutAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/internal/GUIStartupListener.java b/src/main/java/com/rapidminer/gui/internal/GUIStartupListener.java
index dbd5657d0..b8c7c4cc9 100644
--- a/src/main/java/com/rapidminer/gui/internal/GUIStartupListener.java
+++ b/src/main/java/com/rapidminer/gui/internal/GUIStartupListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/license/LicenseTools.java b/src/main/java/com/rapidminer/gui/license/LicenseTools.java
index 39e0aff1c..951f2c947 100644
--- a/src/main/java/com/rapidminer/gui/license/LicenseTools.java
+++ b/src/main/java/com/rapidminer/gui/license/LicenseTools.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/ButtonListener.java b/src/main/java/com/rapidminer/gui/look/ButtonListener.java
index 079190835..01b135f0a 100644
--- a/src/main/java/com/rapidminer/gui/look/ButtonListener.java
+++ b/src/main/java/com/rapidminer/gui/look/ButtonListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/ClipboardActionsPopup.java b/src/main/java/com/rapidminer/gui/look/ClipboardActionsPopup.java
index b324b615d..e03c19e8f 100644
--- a/src/main/java/com/rapidminer/gui/look/ClipboardActionsPopup.java
+++ b/src/main/java/com/rapidminer/gui/look/ClipboardActionsPopup.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/Colors.java b/src/main/java/com/rapidminer/gui/look/Colors.java
index 0117bc2c0..21f40e07e 100644
--- a/src/main/java/com/rapidminer/gui/look/Colors.java
+++ b/src/main/java/com/rapidminer/gui/look/Colors.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -38,6 +38,9 @@ public class Colors {
private static final ColorUIResource INPUT_BORDER = new ColorUIResource(187, 187, 187);
private static final ColorUIResource INPUT_BORDER_DISABLED = new ColorUIResource(227, 227, 227);
private static final ColorUIResource INPUT_BORDER_FOCUS = new ColorUIResource(145, 145, 145);
+ private static final ColorUIResource INPUT_BORDER_DARK = new ColorUIResource(157, 157, 157);
+ private static final ColorUIResource INPUT_BORDER_DARK_DISABLED = INPUT_BORDER_DISABLED;
+ private static final ColorUIResource INPUT_BORDER_DARK_FOCUS = new ColorUIResource(115, 115, 115);
public static final ColorUIResource SELECTION_FOREGROUND = new ColorUIResource(155, 155, 155);
public static final ColorUIResource SELECTION_FOREGROUND_DISABLED = new ColorUIResource(209, 208, 208);
@@ -55,6 +58,9 @@ public class Colors {
public static final ColorUIResource TEXTFIELD_BORDER = INPUT_BORDER;
public static final ColorUIResource TEXTFIELD_BORDER_DISABLED = INPUT_BORDER_DISABLED;
public static final ColorUIResource TEXTFIELD_BORDER_FOCUS = INPUT_BORDER_FOCUS;
+ public static final ColorUIResource TEXTFIELD_BORDER_DARK = INPUT_BORDER_DARK;
+ public static final ColorUIResource TEXTFIELD_BORDER_DARK_DISABLED = INPUT_BORDER_DARK_DISABLED;
+ public static final ColorUIResource TEXTFIELD_BORDER_DARK_FOCUS = INPUT_BORDER_DARK_FOCUS;
public static final ColorUIResource TEXT_FOREGROUND = new ColorUIResource(0, 0, 0);
public static final ColorUIResource TEXT_HIGHLIGHT_BACKGROUND = new ColorUIResource(178, 215, 255);
@@ -64,6 +70,9 @@ public class Colors {
public static final ColorUIResource BUTTON_BORDER = new ColorUIResource(177, 177, 177);
public static final ColorUIResource BUTTON_BORDER_DISABLED = new ColorUIResource(200, 200, 200);
public static final ColorUIResource BUTTON_BORDER_FOCUS = INPUT_BORDER_FOCUS;
+ public static final ColorUIResource BUTTON_BORDER_DARK = INPUT_BORDER_DARK;
+ public static final ColorUIResource BUTTON_BORDER_DARK_DISABLED = BUTTON_BORDER_DISABLED;
+ public static final ColorUIResource BUTTON_BORDER_DARK_FOCUS = INPUT_BORDER_DARK_FOCUS;
public static final ColorUIResource BUTTON_BACKGROUND_GRADIENT_START = new ColorUIResource(240, 240, 240);
public static final ColorUIResource BUTTON_BACKGROUND_GRADIENT_END = new ColorUIResource(218, 218, 218);
public static final ColorUIResource BUTTON_BACKGROUND_ROLLOVER_GRADIENT_START = new ColorUIResource(225, 225, 225);
@@ -72,6 +81,14 @@ public class Colors {
public static final ColorUIResource BUTTON_BACKGROUND_PRESSED_GRADIENT_END = new ColorUIResource(230, 230, 230);
public static final ColorUIResource BUTTON_BACKGROUND_DISABLED_GRADIENT_START = new ColorUIResource(210, 210, 210);
public static final ColorUIResource BUTTON_BACKGROUND_DISABLED_GRADIENT_END = new ColorUIResource(210, 210, 210);
+ public static final ColorUIResource BUTTON_BACKGROUND_HIGHLIGHTED_GRADIENT_START = new ColorUIResource(247, 120, 79);
+ public static final ColorUIResource BUTTON_BACKGROUND_HIGHLIGHTED_GRADIENT_END = new ColorUIResource(232, 86, 39);
+ public static final ColorUIResource BUTTON_BACKGROUND_HIGHLIGHTED_ROLLOVER_GRADIENT_START = new ColorUIResource(232, 105, 64);
+ public static final ColorUIResource BUTTON_BACKGROUND_HIGHLIGHTED_ROLLOVER_GRADIENT_END = new ColorUIResource(217, 90, 49);
+ public static final ColorUIResource BUTTON_BACKGROUND_HIGHLIGHTED_PRESSED_GRADIENT_START = new ColorUIResource(210, 83, 42);
+ public static final ColorUIResource BUTTON_BACKGROUND_HIGHLIGHTED_PRESSED_GRADIENT_END = new ColorUIResource(237, 110, 69);
+ public static final ColorUIResource BUTTON_BACKGROUND_HIGHLIGHTED_DISABLED_GRADIENT_START = BUTTON_BACKGROUND_DISABLED_GRADIENT_START;
+ public static final ColorUIResource BUTTON_BACKGROUND_HIGHLIGHTED_DISABLED_GRADIENT_END = BUTTON_BACKGROUND_DISABLED_GRADIENT_END;
public static final ColorUIResource COMBOBOX_BACKGROUND = INPUT_BACKGROUND;
public static final ColorUIResource COMBOBOX_BACKGROUND_DARK = INPUT_BACKGROUND_DARK;
diff --git a/src/main/java/com/rapidminer/gui/look/GenericArrowButton.java b/src/main/java/com/rapidminer/gui/look/GenericArrowButton.java
index 6040e4bc7..2fa2ad6fa 100644
--- a/src/main/java/com/rapidminer/gui/look/GenericArrowButton.java
+++ b/src/main/java/com/rapidminer/gui/look/GenericArrowButton.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/ImageIconUIResource.java b/src/main/java/com/rapidminer/gui/look/ImageIconUIResource.java
index ef39c83eb..ade6a97d2 100644
--- a/src/main/java/com/rapidminer/gui/look/ImageIconUIResource.java
+++ b/src/main/java/com/rapidminer/gui/look/ImageIconUIResource.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/InternalFrameTitlePane.java b/src/main/java/com/rapidminer/gui/look/InternalFrameTitlePane.java
index ca3bbe48a..dc56a54e9 100644
--- a/src/main/java/com/rapidminer/gui/look/InternalFrameTitlePane.java
+++ b/src/main/java/com/rapidminer/gui/look/InternalFrameTitlePane.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/RapidLookAndFeel.java b/src/main/java/com/rapidminer/gui/look/RapidLookAndFeel.java
index 2a53f24f0..0fc99400a 100644
--- a/src/main/java/com/rapidminer/gui/look/RapidLookAndFeel.java
+++ b/src/main/java/com/rapidminer/gui/look/RapidLookAndFeel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -365,7 +365,7 @@ protected void initComponentDefaults(UIDefaults table) {
"PAGE_DOWN", "scrollDown", "shift PAGE_DOWN", "scrollDownExtendSelection", CONTROL_ID + " A",
"selectAll", CONTROL_ID + " SLASH", "selectAll", CONTROL_ID + " BACK_SLASH", "clearSelection" }),
// MenuBar
- "MenuBar.font", fontDialog12, "MenuBar.windowBindings", new Object[] { "F10", "takeFocus" }
+ "MenuBar.font", fontDialog12, "MenuBar.windowBindings", new Object[] {}
, "MenuBar.selectionForeground", Colors.TEXT_HIGHLIGHT_FOREGROUND,
// Menu Item
@@ -438,7 +438,7 @@ protected void initComponentDefaults(UIDefaults table) {
new UIDefaults.LazyInputMap(new Object[] { "UP", "negativeIncrement", "DOWN", "positiveIncrement", "LEFT",
"negativeIncrement", "RIGHT", "positiveIncrement", "KP_UP", "negativeIncrement", "KP_DOWN",
"positiveIncrement", "KP_LEFT", "negativeIncrement", "KP_RIGHT", "positiveIncrement", "HOME",
- "selectMin", "END", "selectMax", "F8", "startResize", "F6", "toggleFocus", CONTROL_ID + " TAB",
+ "selectMin", "END", "selectMax", "HOME", "toggleFocus", CONTROL_ID + " TAB",
"focusOutForward", CONTROL_ID + " shift TAB", "focusOutBackward" }),
"SplitPaneDivider.border", null,
diff --git a/src/main/java/com/rapidminer/gui/look/RapidLookComboBoxEditor.java b/src/main/java/com/rapidminer/gui/look/RapidLookComboBoxEditor.java
index db1fea349..2b0587e69 100644
--- a/src/main/java/com/rapidminer/gui/look/RapidLookComboBoxEditor.java
+++ b/src/main/java/com/rapidminer/gui/look/RapidLookComboBoxEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/RapidLookListCellRenderer.java b/src/main/java/com/rapidminer/gui/look/RapidLookListCellRenderer.java
index 5021746d6..d121744ab 100644
--- a/src/main/java/com/rapidminer/gui/look/RapidLookListCellRenderer.java
+++ b/src/main/java/com/rapidminer/gui/look/RapidLookListCellRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/RapidLookTools.java b/src/main/java/com/rapidminer/gui/look/RapidLookTools.java
index 4f69764ce..d10f2092d 100644
--- a/src/main/java/com/rapidminer/gui/look/RapidLookTools.java
+++ b/src/main/java/com/rapidminer/gui/look/RapidLookTools.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -27,7 +27,6 @@
import java.awt.RenderingHints;
import java.awt.Shape;
import java.awt.geom.RoundRectangle2D;
-
import javax.swing.AbstractButton;
import javax.swing.ButtonModel;
import javax.swing.JComboBox;
@@ -78,6 +77,37 @@ public final class RapidLookTools {
*/
public static final String PROPERTY_INPUT_BACKGROUND_DARK = "input_dark_bg";
+ /**
+ * If buttons should be highlighted in orange or not. Set to {@code true} or {@code false}. Default is {@code false}.
+ *
+ * @since 8.1
+ */
+ public static final String PROPERTY_BUTTON_HIGHLIGHT = "button_highlight";
+
+ /**
+ * If buttons should have a darker border. Set to {@code true} or {@code false}. Default is {@code false}.
+ *
+ * @since 8.1
+ */
+ public static final String PROPERTY_BUTTON_DARK_BORDER = "button_dark_border";
+
+ /**
+ * If input fields should have a darker border. Set to {@code true} or {@code false}. Default is {@code false}.
+ *
+ * @since 8.1
+ */
+ public static final String PROPERTY_INPUT_DARK_BORDER = "input_dark_border";
+
+ /**
+ * If input fields should be part of a composite input/button. Normally, each component has rounded borders all around so they look good as a standalone field.
+ * If you want to have inputs and buttons right next to each other with no padding, this would look ugly.
+ * Setting this to either {@link javax.swing.SwingConstants#LEFT}, {@link javax.swing.SwingConstants#CENTER} or {@link javax.swing.SwingConstants#RIGHT}
+ * will produce a composite input border which is not rounded on the right, both sides, or the left respectively. Default is {@code -1}, aka standalone with round borders all around.
+ *
+ * @since 8.1
+ */
+ public static final String PROPERTY_INPUT_TYPE_COMPOSITE = "input_type_composite";
+
static {
try {
VLToolBar.class.getName();
@@ -202,16 +232,30 @@ public static void drawButtonBorder(AbstractButton b, Graphics g, Shape shape) {
Graphics2D g2 = (Graphics2D) g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
- if (b.isEnabled()) {
- if (b.hasFocus()) {
- g2.setColor(Colors.BUTTON_BORDER_FOCUS);
+ boolean darkBorder = Boolean.parseBoolean(String.valueOf(b.getClientProperty(RapidLookTools.PROPERTY_BUTTON_DARK_BORDER)));
+ if (darkBorder) {
+ if (b.isEnabled()) {
+ if (b.hasFocus()) {
+ g2.setColor(Colors.BUTTON_BORDER_DARK_FOCUS);
+ } else {
+ g2.setColor(Colors.BUTTON_BORDER_DARK);
+ }
} else {
- g2.setColor(Colors.BUTTON_BORDER);
+ g2.setColor(Colors.BUTTON_BORDER_DARK_DISABLED);
}
} else {
- g2.setColor(Colors.BUTTON_BORDER_DISABLED);
+ if (b.isEnabled()) {
+ if (b.hasFocus()) {
+ g2.setColor(Colors.BUTTON_BORDER_FOCUS);
+ } else {
+ g2.setColor(Colors.BUTTON_BORDER);
+ }
+ } else {
+ g2.setColor(Colors.BUTTON_BORDER_DISABLED);
+ }
}
+
g2.draw(shape);
}
@@ -227,26 +271,46 @@ public static void drawButton(AbstractButton b, Graphics g, Shape shape) {
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
int h = (int) shape.getBounds().getHeight();
- if (b.isEnabled()) {
- if (b.getModel().isPressed() || b.getModel().isSelected()) {
- Paint gp = new GradientPaint(0, 0, Colors.BUTTON_BACKGROUND_PRESSED_GRADIENT_START, 0, h,
- Colors.BUTTON_BACKGROUND_PRESSED_GRADIENT_END);
- g2.setPaint(gp);
- } else if (b.getModel().isRollover()) {
- Paint gp = new GradientPaint(0, 0, Colors.BUTTON_BACKGROUND_ROLLOVER_GRADIENT_START, 0, h,
- Colors.BUTTON_BACKGROUND_ROLLOVER_GRADIENT_END);
- g2.setPaint(gp);
+ ColorUIResource colorGradientStart;
+ ColorUIResource colorGradientEnd;
+ boolean highlighted = Boolean.parseBoolean(String.valueOf(b.getClientProperty(PROPERTY_BUTTON_HIGHLIGHT)));
+ if (highlighted) {
+ if (b.isEnabled()) {
+ if (b.getModel().isPressed() || b.getModel().isSelected()) {
+ colorGradientStart = Colors.BUTTON_BACKGROUND_HIGHLIGHTED_PRESSED_GRADIENT_START;
+ colorGradientEnd = Colors.BUTTON_BACKGROUND_HIGHLIGHTED_PRESSED_GRADIENT_END;
+ } else if (b.getModel().isRollover()) {
+ colorGradientStart = Colors.BUTTON_BACKGROUND_HIGHLIGHTED_ROLLOVER_GRADIENT_START;
+ colorGradientEnd = Colors.BUTTON_BACKGROUND_HIGHLIGHTED_ROLLOVER_GRADIENT_END;
+ } else {
+ colorGradientStart = Colors.BUTTON_BACKGROUND_HIGHLIGHTED_GRADIENT_START;
+ colorGradientEnd = Colors.BUTTON_BACKGROUND_HIGHLIGHTED_GRADIENT_END;
+ }
} else {
- Paint gp = new GradientPaint(0, 0, Colors.BUTTON_BACKGROUND_GRADIENT_START, 0, h,
- Colors.BUTTON_BACKGROUND_GRADIENT_END);
- g2.setPaint(gp);
+ colorGradientStart = Colors.BUTTON_BACKGROUND_HIGHLIGHTED_DISABLED_GRADIENT_START;
+ colorGradientEnd = Colors.BUTTON_BACKGROUND_HIGHLIGHTED_DISABLED_GRADIENT_END;
}
} else {
- Paint gp = new GradientPaint(0, 0, Colors.BUTTON_BACKGROUND_DISABLED_GRADIENT_START, 0, h,
- Colors.BUTTON_BACKGROUND_DISABLED_GRADIENT_END);
- g2.setPaint(gp);
+ if (b.isEnabled()) {
+ if (b.getModel().isPressed() || b.getModel().isSelected()) {
+ colorGradientStart = Colors.BUTTON_BACKGROUND_PRESSED_GRADIENT_START;
+ colorGradientEnd = Colors.BUTTON_BACKGROUND_PRESSED_GRADIENT_END;
+ } else if (b.getModel().isRollover()) {
+ colorGradientStart = Colors.BUTTON_BACKGROUND_ROLLOVER_GRADIENT_START;
+ colorGradientEnd = Colors.BUTTON_BACKGROUND_ROLLOVER_GRADIENT_END;
+ } else {
+ colorGradientStart = Colors.BUTTON_BACKGROUND_GRADIENT_START;
+ colorGradientEnd = Colors.BUTTON_BACKGROUND_GRADIENT_END;
+ }
+ } else {
+ colorGradientStart = Colors.BUTTON_BACKGROUND_DISABLED_GRADIENT_START;
+ colorGradientEnd = Colors.BUTTON_BACKGROUND_DISABLED_GRADIENT_END;
+ }
}
+ Paint gp = new GradientPaint(0, 0, colorGradientStart, 0, h, colorGradientEnd);
+ g2.setPaint(gp);
+
g2.fill(shape);
}
diff --git a/src/main/java/com/rapidminer/gui/look/RoundedPopupFactory.java b/src/main/java/com/rapidminer/gui/look/RoundedPopupFactory.java
index 41a45590a..85702e4eb 100644
--- a/src/main/java/com/rapidminer/gui/look/RoundedPopupFactory.java
+++ b/src/main/java/com/rapidminer/gui/look/RoundedPopupFactory.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/RoundedRectanglePopup.java b/src/main/java/com/rapidminer/gui/look/RoundedRectanglePopup.java
index bd43fa0ee..1bd75877c 100644
--- a/src/main/java/com/rapidminer/gui/look/RoundedRectanglePopup.java
+++ b/src/main/java/com/rapidminer/gui/look/RoundedRectanglePopup.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/TextActions.java b/src/main/java/com/rapidminer/gui/look/TextActions.java
index 764906888..5eeb5d4a5 100644
--- a/src/main/java/com/rapidminer/gui/look/TextActions.java
+++ b/src/main/java/com/rapidminer/gui/look/TextActions.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/ToggleButtonListener.java b/src/main/java/com/rapidminer/gui/look/ToggleButtonListener.java
index 1a476ee02..c303ae642 100644
--- a/src/main/java/com/rapidminer/gui/look/ToggleButtonListener.java
+++ b/src/main/java/com/rapidminer/gui/look/ToggleButtonListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/ToolbarHandlerBuffer.java b/src/main/java/com/rapidminer/gui/look/ToolbarHandlerBuffer.java
index 6e39dff4b..efa898202 100644
--- a/src/main/java/com/rapidminer/gui/look/ToolbarHandlerBuffer.java
+++ b/src/main/java/com/rapidminer/gui/look/ToolbarHandlerBuffer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/ToolbarHandlerIcon.java b/src/main/java/com/rapidminer/gui/look/ToolbarHandlerIcon.java
index 01d05d80e..59a68f819 100644
--- a/src/main/java/com/rapidminer/gui/look/ToolbarHandlerIcon.java
+++ b/src/main/java/com/rapidminer/gui/look/ToolbarHandlerIcon.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/borders/Borders.java b/src/main/java/com/rapidminer/gui/look/borders/Borders.java
index 590eeb138..4e0f98abd 100644
--- a/src/main/java/com/rapidminer/gui/look/borders/Borders.java
+++ b/src/main/java/com/rapidminer/gui/look/borders/Borders.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/borders/CheckBoxBorder.java b/src/main/java/com/rapidminer/gui/look/borders/CheckBoxBorder.java
index b11750ce0..e16e52625 100644
--- a/src/main/java/com/rapidminer/gui/look/borders/CheckBoxBorder.java
+++ b/src/main/java/com/rapidminer/gui/look/borders/CheckBoxBorder.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/borders/ComboBoxBorder.java b/src/main/java/com/rapidminer/gui/look/borders/ComboBoxBorder.java
index a2fa8716e..11c6b1569 100644
--- a/src/main/java/com/rapidminer/gui/look/borders/ComboBoxBorder.java
+++ b/src/main/java/com/rapidminer/gui/look/borders/ComboBoxBorder.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/borders/ComboBoxListCellRendererFocusBorder.java b/src/main/java/com/rapidminer/gui/look/borders/ComboBoxListCellRendererFocusBorder.java
index 95167f2eb..85224fa8f 100644
--- a/src/main/java/com/rapidminer/gui/look/borders/ComboBoxListCellRendererFocusBorder.java
+++ b/src/main/java/com/rapidminer/gui/look/borders/ComboBoxListCellRendererFocusBorder.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/borders/DummyBorder.java b/src/main/java/com/rapidminer/gui/look/borders/DummyBorder.java
index bcce79bba..9c114f3f4 100644
--- a/src/main/java/com/rapidminer/gui/look/borders/DummyBorder.java
+++ b/src/main/java/com/rapidminer/gui/look/borders/DummyBorder.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/borders/EmptyBorder.java b/src/main/java/com/rapidminer/gui/look/borders/EmptyBorder.java
index 3ff67aa7d..a1abec028 100644
--- a/src/main/java/com/rapidminer/gui/look/borders/EmptyBorder.java
+++ b/src/main/java/com/rapidminer/gui/look/borders/EmptyBorder.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/borders/EmptyButtonBorder.java b/src/main/java/com/rapidminer/gui/look/borders/EmptyButtonBorder.java
index 0f1672c36..58ef3f7fe 100644
--- a/src/main/java/com/rapidminer/gui/look/borders/EmptyButtonBorder.java
+++ b/src/main/java/com/rapidminer/gui/look/borders/EmptyButtonBorder.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/borders/EmptyComboBoxBorder.java b/src/main/java/com/rapidminer/gui/look/borders/EmptyComboBoxBorder.java
index 5655ce918..f27ccb5fc 100644
--- a/src/main/java/com/rapidminer/gui/look/borders/EmptyComboBoxBorder.java
+++ b/src/main/java/com/rapidminer/gui/look/borders/EmptyComboBoxBorder.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/borders/InternalFrameBorder.java b/src/main/java/com/rapidminer/gui/look/borders/InternalFrameBorder.java
index f2cfc9dd9..5098c4fb2 100644
--- a/src/main/java/com/rapidminer/gui/look/borders/InternalFrameBorder.java
+++ b/src/main/java/com/rapidminer/gui/look/borders/InternalFrameBorder.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/borders/MenuBarBorder.java b/src/main/java/com/rapidminer/gui/look/borders/MenuBarBorder.java
index 686c8edcb..a15d4df6c 100644
--- a/src/main/java/com/rapidminer/gui/look/borders/MenuBarBorder.java
+++ b/src/main/java/com/rapidminer/gui/look/borders/MenuBarBorder.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/borders/PopupBorder.java b/src/main/java/com/rapidminer/gui/look/borders/PopupBorder.java
index b100ae59e..645fc7974 100644
--- a/src/main/java/com/rapidminer/gui/look/borders/PopupBorder.java
+++ b/src/main/java/com/rapidminer/gui/look/borders/PopupBorder.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/borders/PopupMenuBorder.java b/src/main/java/com/rapidminer/gui/look/borders/PopupMenuBorder.java
index 8d036526c..816f8d6d2 100644
--- a/src/main/java/com/rapidminer/gui/look/borders/PopupMenuBorder.java
+++ b/src/main/java/com/rapidminer/gui/look/borders/PopupMenuBorder.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/borders/ProgressBarBorder.java b/src/main/java/com/rapidminer/gui/look/borders/ProgressBarBorder.java
index 9fa844ecf..f5ddd36d3 100644
--- a/src/main/java/com/rapidminer/gui/look/borders/ProgressBarBorder.java
+++ b/src/main/java/com/rapidminer/gui/look/borders/ProgressBarBorder.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/borders/RoundTitledBorder.java b/src/main/java/com/rapidminer/gui/look/borders/RoundTitledBorder.java
index 40df91b48..deea46d72 100644
--- a/src/main/java/com/rapidminer/gui/look/borders/RoundTitledBorder.java
+++ b/src/main/java/com/rapidminer/gui/look/borders/RoundTitledBorder.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/borders/ScrollPaneBorder.java b/src/main/java/com/rapidminer/gui/look/borders/ScrollPaneBorder.java
index 62851c03e..d2bfc5ed7 100644
--- a/src/main/java/com/rapidminer/gui/look/borders/ScrollPaneBorder.java
+++ b/src/main/java/com/rapidminer/gui/look/borders/ScrollPaneBorder.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/borders/ShadowedPopupMenuBorder.java b/src/main/java/com/rapidminer/gui/look/borders/ShadowedPopupMenuBorder.java
index 325ebfdd8..545355d6c 100644
--- a/src/main/java/com/rapidminer/gui/look/borders/ShadowedPopupMenuBorder.java
+++ b/src/main/java/com/rapidminer/gui/look/borders/ShadowedPopupMenuBorder.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/borders/SpinnerBorder.java b/src/main/java/com/rapidminer/gui/look/borders/SpinnerBorder.java
index c872ccfa2..65a9bf367 100644
--- a/src/main/java/com/rapidminer/gui/look/borders/SpinnerBorder.java
+++ b/src/main/java/com/rapidminer/gui/look/borders/SpinnerBorder.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/borders/SplitPaneBorder.java b/src/main/java/com/rapidminer/gui/look/borders/SplitPaneBorder.java
index 313163ff2..dd0af5956 100644
--- a/src/main/java/com/rapidminer/gui/look/borders/SplitPaneBorder.java
+++ b/src/main/java/com/rapidminer/gui/look/borders/SplitPaneBorder.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/borders/TableHeaderBorder.java b/src/main/java/com/rapidminer/gui/look/borders/TableHeaderBorder.java
index 5c9a71d2b..28b686973 100644
--- a/src/main/java/com/rapidminer/gui/look/borders/TableHeaderBorder.java
+++ b/src/main/java/com/rapidminer/gui/look/borders/TableHeaderBorder.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/borders/TextFieldBorder.java b/src/main/java/com/rapidminer/gui/look/borders/TextFieldBorder.java
index da56e769e..45fa235da 100644
--- a/src/main/java/com/rapidminer/gui/look/borders/TextFieldBorder.java
+++ b/src/main/java/com/rapidminer/gui/look/borders/TextFieldBorder.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -23,12 +23,18 @@
import java.awt.Graphics2D;
import java.awt.Insets;
import java.awt.RenderingHints;
-
+import java.awt.Shape;
+import java.awt.geom.Line2D;
+import java.awt.geom.Rectangle2D;
+import java.awt.geom.RoundRectangle2D;
+import javax.swing.JComponent;
+import javax.swing.SwingConstants;
import javax.swing.border.AbstractBorder;
import javax.swing.plaf.UIResource;
import com.rapidminer.gui.look.Colors;
import com.rapidminer.gui.look.RapidLookAndFeel;
+import com.rapidminer.gui.look.RapidLookTools;
/**
@@ -47,17 +53,66 @@ public void paintBorder(Component c, Graphics g, int x, int y, int w, int h) {
g2.translate(x, y);
- if (c.isEnabled()) {
- if (c.isFocusOwner()) {
- g2.setColor(Colors.TEXTFIELD_BORDER_FOCUS);
+ boolean darkBorder = c instanceof JComponent && Boolean.parseBoolean(String.valueOf(((JComponent) c).getClientProperty(RapidLookTools.PROPERTY_INPUT_DARK_BORDER)));
+ if (darkBorder) {
+ if (c.isEnabled()) {
+ if (c.isFocusOwner()) {
+ g2.setColor(Colors.TEXTFIELD_BORDER_DARK_FOCUS);
+ } else {
+ g2.setColor(Colors.TEXTFIELD_BORDER_DARK);
+ }
} else {
- g2.setColor(Colors.TEXTFIELD_BORDER);
+ g2.setColor(Colors.TEXTFIELD_BORDER_DARK_DISABLED);
}
} else {
- g2.setColor(Colors.TEXTFIELD_BORDER_DISABLED);
+ if (c.isEnabled()) {
+ if (c.isFocusOwner()) {
+ g2.setColor(Colors.TEXTFIELD_BORDER_FOCUS);
+ } else {
+ g2.setColor(Colors.TEXTFIELD_BORDER);
+ }
+ } else {
+ g2.setColor(Colors.TEXTFIELD_BORDER_DISABLED);
+ }
+ }
+
+ // composite field, aka part of other components directly adjacent to it?
+ int position = -1;
+ if (c instanceof JComponent) {
+ Object composite = ((JComponent) c).getClientProperty(RapidLookTools.PROPERTY_INPUT_TYPE_COMPOSITE);
+ if (composite != null) {
+ try {
+ position = Integer.valueOf(String.valueOf(composite));
+ } catch (NumberFormatException e) {
+ // stay with -1 aka standalone
+ }
+ }
+
}
- g2.drawRoundRect(0, 0, w - 1, h - 1, RapidLookAndFeel.CORNER_DEFAULT_RADIUS, RapidLookAndFeel.CORNER_DEFAULT_RADIUS);
+ int radius = RapidLookAndFeel.CORNER_DEFAULT_RADIUS;
+ Shape borderShape;
+ switch (position) {
+ case SwingConstants.LEFT:
+ borderShape = new RoundRectangle2D.Double(0, 0, w + radius, h - 1, radius, radius);
+ g2.draw(borderShape);
+ break;
+ case SwingConstants.CENTER:
+ borderShape = new Rectangle2D.Double(0, 0, w + radius, h - 1);
+ g2.draw(borderShape);
+ break;
+ case SwingConstants.RIGHT:
+ borderShape = new RoundRectangle2D.Double(-radius, 0, w + radius - 1, h - 1, radius, radius);
+ g2.draw(borderShape);
+ // special case, right field has a left border
+ borderShape = new Line2D.Double(0, 0, 0, h);
+ g2.draw(borderShape);
+ break;
+ default:
+ borderShape = new RoundRectangle2D.Double(0, 0, w - 1, h - 1, radius, radius);
+ g2.draw(borderShape);
+ break;
+ }
g2.translate(-x, -y);
}
diff --git a/src/main/java/com/rapidminer/gui/look/borders/ToolBarBorder.java b/src/main/java/com/rapidminer/gui/look/borders/ToolBarBorder.java
index b5fc3407c..4bc30312a 100644
--- a/src/main/java/com/rapidminer/gui/look/borders/ToolBarBorder.java
+++ b/src/main/java/com/rapidminer/gui/look/borders/ToolBarBorder.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/borders/ToolTipBorder.java b/src/main/java/com/rapidminer/gui/look/borders/ToolTipBorder.java
index 94bc1a995..bb81bc2d7 100644
--- a/src/main/java/com/rapidminer/gui/look/borders/ToolTipBorder.java
+++ b/src/main/java/com/rapidminer/gui/look/borders/ToolTipBorder.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/fc/AutomaticTextField.java b/src/main/java/com/rapidminer/gui/look/fc/AutomaticTextField.java
index 5ab6b0e22..5beeed1fe 100644
--- a/src/main/java/com/rapidminer/gui/look/fc/AutomaticTextField.java
+++ b/src/main/java/com/rapidminer/gui/look/fc/AutomaticTextField.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/fc/Bookmark.java b/src/main/java/com/rapidminer/gui/look/fc/Bookmark.java
index 27cb32d8c..9b966b0db 100644
--- a/src/main/java/com/rapidminer/gui/look/fc/Bookmark.java
+++ b/src/main/java/com/rapidminer/gui/look/fc/Bookmark.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/fc/BookmarkDialog.java b/src/main/java/com/rapidminer/gui/look/fc/BookmarkDialog.java
index 076c10a1c..67bc53af7 100644
--- a/src/main/java/com/rapidminer/gui/look/fc/BookmarkDialog.java
+++ b/src/main/java/com/rapidminer/gui/look/fc/BookmarkDialog.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/fc/BookmarkIO.java b/src/main/java/com/rapidminer/gui/look/fc/BookmarkIO.java
index f2af93a11..ff7c9065a 100644
--- a/src/main/java/com/rapidminer/gui/look/fc/BookmarkIO.java
+++ b/src/main/java/com/rapidminer/gui/look/fc/BookmarkIO.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/fc/BookmarkList.java b/src/main/java/com/rapidminer/gui/look/fc/BookmarkList.java
index e101a4a22..12aa62460 100644
--- a/src/main/java/com/rapidminer/gui/look/fc/BookmarkList.java
+++ b/src/main/java/com/rapidminer/gui/look/fc/BookmarkList.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/fc/BookmarkListModel.java b/src/main/java/com/rapidminer/gui/look/fc/BookmarkListModel.java
index 7f15d36d8..424e8b94a 100644
--- a/src/main/java/com/rapidminer/gui/look/fc/BookmarkListModel.java
+++ b/src/main/java/com/rapidminer/gui/look/fc/BookmarkListModel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/fc/DragSelectionThread.java b/src/main/java/com/rapidminer/gui/look/fc/DragSelectionThread.java
index 2e8f4ccb1..ee42a7c10 100644
--- a/src/main/java/com/rapidminer/gui/look/fc/DragSelectionThread.java
+++ b/src/main/java/com/rapidminer/gui/look/fc/DragSelectionThread.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/fc/FileChooserUI.java b/src/main/java/com/rapidminer/gui/look/fc/FileChooserUI.java
index 0c2422694..b8343c110 100644
--- a/src/main/java/com/rapidminer/gui/look/fc/FileChooserUI.java
+++ b/src/main/java/com/rapidminer/gui/look/fc/FileChooserUI.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/fc/FileList.java b/src/main/java/com/rapidminer/gui/look/fc/FileList.java
index 3a2642806..56d84ab39 100644
--- a/src/main/java/com/rapidminer/gui/look/fc/FileList.java
+++ b/src/main/java/com/rapidminer/gui/look/fc/FileList.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/fc/FileTable.java b/src/main/java/com/rapidminer/gui/look/fc/FileTable.java
index 2cec55a85..796fa033b 100644
--- a/src/main/java/com/rapidminer/gui/look/fc/FileTable.java
+++ b/src/main/java/com/rapidminer/gui/look/fc/FileTable.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/fc/FileTableLabel.java b/src/main/java/com/rapidminer/gui/look/fc/FileTableLabel.java
index bd80dfaa6..ab727da09 100644
--- a/src/main/java/com/rapidminer/gui/look/fc/FileTableLabel.java
+++ b/src/main/java/com/rapidminer/gui/look/fc/FileTableLabel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/fc/Item.java b/src/main/java/com/rapidminer/gui/look/fc/Item.java
index 986641ea7..d5e5caab5 100644
--- a/src/main/java/com/rapidminer/gui/look/fc/Item.java
+++ b/src/main/java/com/rapidminer/gui/look/fc/Item.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/fc/ItemPanel.java b/src/main/java/com/rapidminer/gui/look/fc/ItemPanel.java
index af34f4642..33ff1bba9 100644
--- a/src/main/java/com/rapidminer/gui/look/fc/ItemPanel.java
+++ b/src/main/java/com/rapidminer/gui/look/fc/ItemPanel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/fc/ItemPanelKeyboardListener.java b/src/main/java/com/rapidminer/gui/look/fc/ItemPanelKeyboardListener.java
index b2ce3dec1..b6590f663 100644
--- a/src/main/java/com/rapidminer/gui/look/fc/ItemPanelKeyboardListener.java
+++ b/src/main/java/com/rapidminer/gui/look/fc/ItemPanelKeyboardListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/fc/MultipleLinesLabel.java b/src/main/java/com/rapidminer/gui/look/fc/MultipleLinesLabel.java
index 3194fa175..306ae52fb 100644
--- a/src/main/java/com/rapidminer/gui/look/fc/MultipleLinesLabel.java
+++ b/src/main/java/com/rapidminer/gui/look/fc/MultipleLinesLabel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/fc/ThumbGeneratorThread.java b/src/main/java/com/rapidminer/gui/look/fc/ThumbGeneratorThread.java
index f05bef003..cb6370b8d 100644
--- a/src/main/java/com/rapidminer/gui/look/fc/ThumbGeneratorThread.java
+++ b/src/main/java/com/rapidminer/gui/look/fc/ThumbGeneratorThread.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/fc/Tools.java b/src/main/java/com/rapidminer/gui/look/fc/Tools.java
index f8a235a3e..b3e312b73 100644
--- a/src/main/java/com/rapidminer/gui/look/fc/Tools.java
+++ b/src/main/java/com/rapidminer/gui/look/fc/Tools.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/icons/CheckBoxIcon.java b/src/main/java/com/rapidminer/gui/look/icons/CheckBoxIcon.java
index dcc6a09f4..d0d3c2102 100644
--- a/src/main/java/com/rapidminer/gui/look/icons/CheckBoxIcon.java
+++ b/src/main/java/com/rapidminer/gui/look/icons/CheckBoxIcon.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/icons/CheckBoxMenuItemIcon.java b/src/main/java/com/rapidminer/gui/look/icons/CheckBoxMenuItemIcon.java
index 357d84e08..6887efa33 100644
--- a/src/main/java/com/rapidminer/gui/look/icons/CheckBoxMenuItemIcon.java
+++ b/src/main/java/com/rapidminer/gui/look/icons/CheckBoxMenuItemIcon.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/icons/IconFactory.java b/src/main/java/com/rapidminer/gui/look/icons/IconFactory.java
index 8e7ad1756..9e7658696 100644
--- a/src/main/java/com/rapidminer/gui/look/icons/IconFactory.java
+++ b/src/main/java/com/rapidminer/gui/look/icons/IconFactory.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/icons/RadioButtonIcon.java b/src/main/java/com/rapidminer/gui/look/icons/RadioButtonIcon.java
index bb357c23d..00ccae100 100644
--- a/src/main/java/com/rapidminer/gui/look/icons/RadioButtonIcon.java
+++ b/src/main/java/com/rapidminer/gui/look/icons/RadioButtonIcon.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/icons/RadioButtonMenuItemIcon.java b/src/main/java/com/rapidminer/gui/look/icons/RadioButtonMenuItemIcon.java
index 59c250353..b991108c8 100644
--- a/src/main/java/com/rapidminer/gui/look/icons/RadioButtonMenuItemIcon.java
+++ b/src/main/java/com/rapidminer/gui/look/icons/RadioButtonMenuItemIcon.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/painters/AbstractCachedPainter.java b/src/main/java/com/rapidminer/gui/look/painters/AbstractCachedPainter.java
index a8221a6a2..11340d21a 100644
--- a/src/main/java/com/rapidminer/gui/look/painters/AbstractCachedPainter.java
+++ b/src/main/java/com/rapidminer/gui/look/painters/AbstractCachedPainter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/painters/Cache.java b/src/main/java/com/rapidminer/gui/look/painters/Cache.java
index 5b0eaf429..83077e145 100644
--- a/src/main/java/com/rapidminer/gui/look/painters/Cache.java
+++ b/src/main/java/com/rapidminer/gui/look/painters/Cache.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/painters/CachedPainter.java b/src/main/java/com/rapidminer/gui/look/painters/CachedPainter.java
index ce03ad04a..65cb173be 100644
--- a/src/main/java/com/rapidminer/gui/look/painters/CachedPainter.java
+++ b/src/main/java/com/rapidminer/gui/look/painters/CachedPainter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/painters/MenuBackgroundPainter.java b/src/main/java/com/rapidminer/gui/look/painters/MenuBackgroundPainter.java
index 666aa37df..b6d334b3d 100644
--- a/src/main/java/com/rapidminer/gui/look/painters/MenuBackgroundPainter.java
+++ b/src/main/java/com/rapidminer/gui/look/painters/MenuBackgroundPainter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/painters/MenuBarBackgroundPainter.java b/src/main/java/com/rapidminer/gui/look/painters/MenuBarBackgroundPainter.java
index 23664dab0..97dbb89e9 100644
--- a/src/main/java/com/rapidminer/gui/look/painters/MenuBarBackgroundPainter.java
+++ b/src/main/java/com/rapidminer/gui/look/painters/MenuBarBackgroundPainter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/painters/MenuSeparatorPainter.java b/src/main/java/com/rapidminer/gui/look/painters/MenuSeparatorPainter.java
index 74e53fe48..d132db6ac 100644
--- a/src/main/java/com/rapidminer/gui/look/painters/MenuSeparatorPainter.java
+++ b/src/main/java/com/rapidminer/gui/look/painters/MenuSeparatorPainter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/ui/ButtonUI.java b/src/main/java/com/rapidminer/gui/look/ui/ButtonUI.java
index db9776b1e..9635e27c1 100644
--- a/src/main/java/com/rapidminer/gui/look/ui/ButtonUI.java
+++ b/src/main/java/com/rapidminer/gui/look/ui/ButtonUI.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/ui/CheckBoxMenuItemUI.java b/src/main/java/com/rapidminer/gui/look/ui/CheckBoxMenuItemUI.java
index b0cbbe629..852596bb8 100644
--- a/src/main/java/com/rapidminer/gui/look/ui/CheckBoxMenuItemUI.java
+++ b/src/main/java/com/rapidminer/gui/look/ui/CheckBoxMenuItemUI.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/ui/CheckBoxUI.java b/src/main/java/com/rapidminer/gui/look/ui/CheckBoxUI.java
index 4b5268eac..c46f891e7 100644
--- a/src/main/java/com/rapidminer/gui/look/ui/CheckBoxUI.java
+++ b/src/main/java/com/rapidminer/gui/look/ui/CheckBoxUI.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/ui/ComboBoxUI.java b/src/main/java/com/rapidminer/gui/look/ui/ComboBoxUI.java
index aa89493ec..77d5ab1e7 100644
--- a/src/main/java/com/rapidminer/gui/look/ui/ComboBoxUI.java
+++ b/src/main/java/com/rapidminer/gui/look/ui/ComboBoxUI.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/ui/DesktopIconUI.java b/src/main/java/com/rapidminer/gui/look/ui/DesktopIconUI.java
index bcba0a168..f398d9ff4 100644
--- a/src/main/java/com/rapidminer/gui/look/ui/DesktopIconUI.java
+++ b/src/main/java/com/rapidminer/gui/look/ui/DesktopIconUI.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/ui/EditorPaneUI.java b/src/main/java/com/rapidminer/gui/look/ui/EditorPaneUI.java
index 7b04512f0..fc1c4dec5 100644
--- a/src/main/java/com/rapidminer/gui/look/ui/EditorPaneUI.java
+++ b/src/main/java/com/rapidminer/gui/look/ui/EditorPaneUI.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/ui/ExtensionButtonUI.java b/src/main/java/com/rapidminer/gui/look/ui/ExtensionButtonUI.java
index 97c2b6763..1051793cd 100644
--- a/src/main/java/com/rapidminer/gui/look/ui/ExtensionButtonUI.java
+++ b/src/main/java/com/rapidminer/gui/look/ui/ExtensionButtonUI.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/ui/FormattedTextFieldUI.java b/src/main/java/com/rapidminer/gui/look/ui/FormattedTextFieldUI.java
index e0f7d7763..b6e2d6c0f 100644
--- a/src/main/java/com/rapidminer/gui/look/ui/FormattedTextFieldUI.java
+++ b/src/main/java/com/rapidminer/gui/look/ui/FormattedTextFieldUI.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/ui/InternalFrameUI.java b/src/main/java/com/rapidminer/gui/look/ui/InternalFrameUI.java
index 3acb525a6..86938606d 100644
--- a/src/main/java/com/rapidminer/gui/look/ui/InternalFrameUI.java
+++ b/src/main/java/com/rapidminer/gui/look/ui/InternalFrameUI.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/ui/LabelUI.java b/src/main/java/com/rapidminer/gui/look/ui/LabelUI.java
index d6b7b0bd5..8acf4a057 100644
--- a/src/main/java/com/rapidminer/gui/look/ui/LabelUI.java
+++ b/src/main/java/com/rapidminer/gui/look/ui/LabelUI.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/ui/ListUI.java b/src/main/java/com/rapidminer/gui/look/ui/ListUI.java
index 3007ec1eb..335c426fd 100644
--- a/src/main/java/com/rapidminer/gui/look/ui/ListUI.java
+++ b/src/main/java/com/rapidminer/gui/look/ui/ListUI.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/ui/MenuBarUI.java b/src/main/java/com/rapidminer/gui/look/ui/MenuBarUI.java
index f7fd628ca..c49e028d0 100644
--- a/src/main/java/com/rapidminer/gui/look/ui/MenuBarUI.java
+++ b/src/main/java/com/rapidminer/gui/look/ui/MenuBarUI.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/ui/MenuItemUI.java b/src/main/java/com/rapidminer/gui/look/ui/MenuItemUI.java
index 1bacbf59d..d345cdca0 100644
--- a/src/main/java/com/rapidminer/gui/look/ui/MenuItemUI.java
+++ b/src/main/java/com/rapidminer/gui/look/ui/MenuItemUI.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/ui/MenuUI.java b/src/main/java/com/rapidminer/gui/look/ui/MenuUI.java
index 5fe504117..c9094ae76 100644
--- a/src/main/java/com/rapidminer/gui/look/ui/MenuUI.java
+++ b/src/main/java/com/rapidminer/gui/look/ui/MenuUI.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/ui/PasswordFieldUI.java b/src/main/java/com/rapidminer/gui/look/ui/PasswordFieldUI.java
index 8dd23f2b4..588649c72 100644
--- a/src/main/java/com/rapidminer/gui/look/ui/PasswordFieldUI.java
+++ b/src/main/java/com/rapidminer/gui/look/ui/PasswordFieldUI.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/ui/PopupMenuSeparatorUI.java b/src/main/java/com/rapidminer/gui/look/ui/PopupMenuSeparatorUI.java
index 1f1008914..cafcf0be8 100644
--- a/src/main/java/com/rapidminer/gui/look/ui/PopupMenuSeparatorUI.java
+++ b/src/main/java/com/rapidminer/gui/look/ui/PopupMenuSeparatorUI.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/ui/PopupMenuUI.java b/src/main/java/com/rapidminer/gui/look/ui/PopupMenuUI.java
index 962806e97..98e86b42e 100644
--- a/src/main/java/com/rapidminer/gui/look/ui/PopupMenuUI.java
+++ b/src/main/java/com/rapidminer/gui/look/ui/PopupMenuUI.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/ui/ProgressBarUI.java b/src/main/java/com/rapidminer/gui/look/ui/ProgressBarUI.java
index 077ae6053..66f99cbd0 100644
--- a/src/main/java/com/rapidminer/gui/look/ui/ProgressBarUI.java
+++ b/src/main/java/com/rapidminer/gui/look/ui/ProgressBarUI.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/ui/RadioButtonMenuItemUI.java b/src/main/java/com/rapidminer/gui/look/ui/RadioButtonMenuItemUI.java
index 792189074..28ca46f6d 100644
--- a/src/main/java/com/rapidminer/gui/look/ui/RadioButtonMenuItemUI.java
+++ b/src/main/java/com/rapidminer/gui/look/ui/RadioButtonMenuItemUI.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/ui/RadioButtonUI.java b/src/main/java/com/rapidminer/gui/look/ui/RadioButtonUI.java
index 42010016c..71f337ac3 100644
--- a/src/main/java/com/rapidminer/gui/look/ui/RadioButtonUI.java
+++ b/src/main/java/com/rapidminer/gui/look/ui/RadioButtonUI.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/ui/RapidDockingUISettings.java b/src/main/java/com/rapidminer/gui/look/ui/RapidDockingUISettings.java
index a48c14808..8ed0c9d11 100644
--- a/src/main/java/com/rapidminer/gui/look/ui/RapidDockingUISettings.java
+++ b/src/main/java/com/rapidminer/gui/look/ui/RapidDockingUISettings.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/ui/ScrollBarUI.java b/src/main/java/com/rapidminer/gui/look/ui/ScrollBarUI.java
index ec918765c..6d3710070 100644
--- a/src/main/java/com/rapidminer/gui/look/ui/ScrollBarUI.java
+++ b/src/main/java/com/rapidminer/gui/look/ui/ScrollBarUI.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/ui/SliderUI.java b/src/main/java/com/rapidminer/gui/look/ui/SliderUI.java
index 9a1200aee..f85fbd13a 100644
--- a/src/main/java/com/rapidminer/gui/look/ui/SliderUI.java
+++ b/src/main/java/com/rapidminer/gui/look/ui/SliderUI.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/ui/SpinnerButton.java b/src/main/java/com/rapidminer/gui/look/ui/SpinnerButton.java
index 63381b1cb..2db006583 100644
--- a/src/main/java/com/rapidminer/gui/look/ui/SpinnerButton.java
+++ b/src/main/java/com/rapidminer/gui/look/ui/SpinnerButton.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/ui/SpinnerUI.java b/src/main/java/com/rapidminer/gui/look/ui/SpinnerUI.java
index b336e74af..7d8450782 100644
--- a/src/main/java/com/rapidminer/gui/look/ui/SpinnerUI.java
+++ b/src/main/java/com/rapidminer/gui/look/ui/SpinnerUI.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/ui/SplitPaneDividerUI.java b/src/main/java/com/rapidminer/gui/look/ui/SplitPaneDividerUI.java
index 13bb9927b..d127f4904 100644
--- a/src/main/java/com/rapidminer/gui/look/ui/SplitPaneDividerUI.java
+++ b/src/main/java/com/rapidminer/gui/look/ui/SplitPaneDividerUI.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/ui/SplitPaneUI.java b/src/main/java/com/rapidminer/gui/look/ui/SplitPaneUI.java
index b251bdef3..bdcb1b7e7 100644
--- a/src/main/java/com/rapidminer/gui/look/ui/SplitPaneUI.java
+++ b/src/main/java/com/rapidminer/gui/look/ui/SplitPaneUI.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/ui/TabbedPaneUI.java b/src/main/java/com/rapidminer/gui/look/ui/TabbedPaneUI.java
index 5bab34336..0f8c8ca3c 100644
--- a/src/main/java/com/rapidminer/gui/look/ui/TabbedPaneUI.java
+++ b/src/main/java/com/rapidminer/gui/look/ui/TabbedPaneUI.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/ui/TableHeaderUI.java b/src/main/java/com/rapidminer/gui/look/ui/TableHeaderUI.java
index 4611fd044..0cf430940 100644
--- a/src/main/java/com/rapidminer/gui/look/ui/TableHeaderUI.java
+++ b/src/main/java/com/rapidminer/gui/look/ui/TableHeaderUI.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/ui/TableUI.java b/src/main/java/com/rapidminer/gui/look/ui/TableUI.java
index 98a1a9a7d..b3c836152 100644
--- a/src/main/java/com/rapidminer/gui/look/ui/TableUI.java
+++ b/src/main/java/com/rapidminer/gui/look/ui/TableUI.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/ui/TextAreaUI.java b/src/main/java/com/rapidminer/gui/look/ui/TextAreaUI.java
index 5bf1fd531..d587da83e 100644
--- a/src/main/java/com/rapidminer/gui/look/ui/TextAreaUI.java
+++ b/src/main/java/com/rapidminer/gui/look/ui/TextAreaUI.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/ui/TextFieldUI.java b/src/main/java/com/rapidminer/gui/look/ui/TextFieldUI.java
index 3917ea9d8..dedee7a2e 100644
--- a/src/main/java/com/rapidminer/gui/look/ui/TextFieldUI.java
+++ b/src/main/java/com/rapidminer/gui/look/ui/TextFieldUI.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/ui/TextPaneUI.java b/src/main/java/com/rapidminer/gui/look/ui/TextPaneUI.java
index 7de907754..314bc3a76 100644
--- a/src/main/java/com/rapidminer/gui/look/ui/TextPaneUI.java
+++ b/src/main/java/com/rapidminer/gui/look/ui/TextPaneUI.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/ui/ToggleButtonUI.java b/src/main/java/com/rapidminer/gui/look/ui/ToggleButtonUI.java
index 1241d85f8..1a02ca022 100644
--- a/src/main/java/com/rapidminer/gui/look/ui/ToggleButtonUI.java
+++ b/src/main/java/com/rapidminer/gui/look/ui/ToggleButtonUI.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/ui/ToolBarUI.java b/src/main/java/com/rapidminer/gui/look/ui/ToolBarUI.java
index 9120ac955..3a0c75b97 100644
--- a/src/main/java/com/rapidminer/gui/look/ui/ToolBarUI.java
+++ b/src/main/java/com/rapidminer/gui/look/ui/ToolBarUI.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/ui/ToolbarButtonUI.java b/src/main/java/com/rapidminer/gui/look/ui/ToolbarButtonUI.java
index 15005e33b..eae8a1647 100644
--- a/src/main/java/com/rapidminer/gui/look/ui/ToolbarButtonUI.java
+++ b/src/main/java/com/rapidminer/gui/look/ui/ToolbarButtonUI.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/look/ui/TreeUI.java b/src/main/java/com/rapidminer/gui/look/ui/TreeUI.java
index 00eea80c5..e1812c019 100644
--- a/src/main/java/com/rapidminer/gui/look/ui/TreeUI.java
+++ b/src/main/java/com/rapidminer/gui/look/ui/TreeUI.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/metadata/MetaDataRendererFactory.java b/src/main/java/com/rapidminer/gui/metadata/MetaDataRendererFactory.java
index 64a71706a..62e7e60e9 100644
--- a/src/main/java/com/rapidminer/gui/metadata/MetaDataRendererFactory.java
+++ b/src/main/java/com/rapidminer/gui/metadata/MetaDataRendererFactory.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/metadata/MetaDataRendererFactoryRegistry.java b/src/main/java/com/rapidminer/gui/metadata/MetaDataRendererFactoryRegistry.java
index 65b8224dc..3cf01f5b5 100644
--- a/src/main/java/com/rapidminer/gui/metadata/MetaDataRendererFactoryRegistry.java
+++ b/src/main/java/com/rapidminer/gui/metadata/MetaDataRendererFactoryRegistry.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/ChartConfigurationException.java b/src/main/java/com/rapidminer/gui/new_plotter/ChartConfigurationException.java
index f8f89a0b1..696e060f8 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/ChartConfigurationException.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/ChartConfigurationException.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/ChartCreationException.java b/src/main/java/com/rapidminer/gui/new_plotter/ChartCreationException.java
index f3e98b71f..905595c05 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/ChartCreationException.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/ChartCreationException.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/ChartPlottimeException.java b/src/main/java/com/rapidminer/gui/new_plotter/ChartPlottimeException.java
index 7aa6674be..e55bf73d7 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/ChartPlottimeException.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/ChartPlottimeException.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/ConfigurationChangeResponse.java b/src/main/java/com/rapidminer/gui/new_plotter/ConfigurationChangeResponse.java
index 7338edcc2..ae68978d5 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/ConfigurationChangeResponse.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/ConfigurationChangeResponse.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/MasterOfDesaster.java b/src/main/java/com/rapidminer/gui/new_plotter/MasterOfDesaster.java
index ecef22876..84698b91d 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/MasterOfDesaster.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/MasterOfDesaster.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/PlotConfigurationError.java b/src/main/java/com/rapidminer/gui/new_plotter/PlotConfigurationError.java
index fbff8da54..1b8f87064 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/PlotConfigurationError.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/PlotConfigurationError.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/PlotConfigurationQuickFix.java b/src/main/java/com/rapidminer/gui/new_plotter/PlotConfigurationQuickFix.java
index 1e40af05b..a90efc6fe 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/PlotConfigurationQuickFix.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/PlotConfigurationQuickFix.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/configuration/AbstractDimensionConfig.java b/src/main/java/com/rapidminer/gui/new_plotter/configuration/AbstractDimensionConfig.java
index 9e6feae43..3281f3f0b 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/configuration/AbstractDimensionConfig.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/configuration/AbstractDimensionConfig.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/configuration/AbstractValueGrouping.java b/src/main/java/com/rapidminer/gui/new_plotter/configuration/AbstractValueGrouping.java
index 00f2541e0..3a90a5d47 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/configuration/AbstractValueGrouping.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/configuration/AbstractValueGrouping.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/configuration/AggregationWindowing.java b/src/main/java/com/rapidminer/gui/new_plotter/configuration/AggregationWindowing.java
index 0d7f712f2..602123da0 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/configuration/AggregationWindowing.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/configuration/AggregationWindowing.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/configuration/AxisParallelLineConfiguration.java b/src/main/java/com/rapidminer/gui/new_plotter/configuration/AxisParallelLineConfiguration.java
index b5e2fe354..0c13f1375 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/configuration/AxisParallelLineConfiguration.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/configuration/AxisParallelLineConfiguration.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/configuration/AxisParallelLinesConfiguration.java b/src/main/java/com/rapidminer/gui/new_plotter/configuration/AxisParallelLinesConfiguration.java
index 30576c067..9313cf461 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/configuration/AxisParallelLinesConfiguration.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/configuration/AxisParallelLinesConfiguration.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/configuration/AxisParallelLinesConfigurationListener.java b/src/main/java/com/rapidminer/gui/new_plotter/configuration/AxisParallelLinesConfigurationListener.java
index b3a40cef6..8c1541013 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/configuration/AxisParallelLinesConfigurationListener.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/configuration/AxisParallelLinesConfigurationListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/configuration/DataTableColumn.java b/src/main/java/com/rapidminer/gui/new_plotter/configuration/DataTableColumn.java
index 78ba311b4..2aed4055d 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/configuration/DataTableColumn.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/configuration/DataTableColumn.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/configuration/DefaultDimensionConfig.java b/src/main/java/com/rapidminer/gui/new_plotter/configuration/DefaultDimensionConfig.java
index 5fbba0f59..aaff5e939 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/configuration/DefaultDimensionConfig.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/configuration/DefaultDimensionConfig.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/configuration/DimensionConfig.java b/src/main/java/com/rapidminer/gui/new_plotter/configuration/DimensionConfig.java
index f095250b8..ec913877e 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/configuration/DimensionConfig.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/configuration/DimensionConfig.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/configuration/DistinctValueGrouping.java b/src/main/java/com/rapidminer/gui/new_plotter/configuration/DistinctValueGrouping.java
index a4ec658a4..0c2009047 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/configuration/DistinctValueGrouping.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/configuration/DistinctValueGrouping.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/configuration/DomainConfigManager.java b/src/main/java/com/rapidminer/gui/new_plotter/configuration/DomainConfigManager.java
index 96a16396c..de48ca6db 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/configuration/DomainConfigManager.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/configuration/DomainConfigManager.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/configuration/EqualDataFractionGrouping.java b/src/main/java/com/rapidminer/gui/new_plotter/configuration/EqualDataFractionGrouping.java
index f711609b8..dae0910ef 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/configuration/EqualDataFractionGrouping.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/configuration/EqualDataFractionGrouping.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/configuration/EquidistantFixedBinCountBinning.java b/src/main/java/com/rapidminer/gui/new_plotter/configuration/EquidistantFixedBinCountBinning.java
index 1f1c9b521..f2d6fc67c 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/configuration/EquidistantFixedBinCountBinning.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/configuration/EquidistantFixedBinCountBinning.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/configuration/GroupCellKey.java b/src/main/java/com/rapidminer/gui/new_plotter/configuration/GroupCellKey.java
index b8b9ce960..a065061fa 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/configuration/GroupCellKey.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/configuration/GroupCellKey.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/configuration/LegendConfiguration.java b/src/main/java/com/rapidminer/gui/new_plotter/configuration/LegendConfiguration.java
index bbceef26b..ed3c33476 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/configuration/LegendConfiguration.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/configuration/LegendConfiguration.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/configuration/LineFormat.java b/src/main/java/com/rapidminer/gui/new_plotter/configuration/LineFormat.java
index 6446c4e8a..0261319c1 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/configuration/LineFormat.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/configuration/LineFormat.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/configuration/LineFormatListener.java b/src/main/java/com/rapidminer/gui/new_plotter/configuration/LineFormatListener.java
index 9e106ce13..7f97851e9 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/configuration/LineFormatListener.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/configuration/LineFormatListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/configuration/LinkAndBrushMaster.java b/src/main/java/com/rapidminer/gui/new_plotter/configuration/LinkAndBrushMaster.java
index a03544ca3..42be11576 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/configuration/LinkAndBrushMaster.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/configuration/LinkAndBrushMaster.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/configuration/PlotConfiguration.java b/src/main/java/com/rapidminer/gui/new_plotter/configuration/PlotConfiguration.java
index 0e79a3545..76aeb721d 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/configuration/PlotConfiguration.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/configuration/PlotConfiguration.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/configuration/RangeAxisConfig.java b/src/main/java/com/rapidminer/gui/new_plotter/configuration/RangeAxisConfig.java
index eb5a853fd..a62ffd1c5 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/configuration/RangeAxisConfig.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/configuration/RangeAxisConfig.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/configuration/SeriesFormat.java b/src/main/java/com/rapidminer/gui/new_plotter/configuration/SeriesFormat.java
index 3106ce5c3..497642b1d 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/configuration/SeriesFormat.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/configuration/SeriesFormat.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/configuration/ValueGrouping.java b/src/main/java/com/rapidminer/gui/new_plotter/configuration/ValueGrouping.java
index e898eedd1..c32bf2efb 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/configuration/ValueGrouping.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/configuration/ValueGrouping.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/configuration/ValueSource.java b/src/main/java/com/rapidminer/gui/new_plotter/configuration/ValueSource.java
index e9840e3c7..e21fc7926 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/configuration/ValueSource.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/configuration/ValueSource.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/configuration/event/AxisParallelLinesConfigurationChangeEvent.java b/src/main/java/com/rapidminer/gui/new_plotter/configuration/event/AxisParallelLinesConfigurationChangeEvent.java
index 651b09b6c..2650fe11a 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/configuration/event/AxisParallelLinesConfigurationChangeEvent.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/configuration/event/AxisParallelLinesConfigurationChangeEvent.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/data/DataTableColumnIndex.java b/src/main/java/com/rapidminer/gui/new_plotter/data/DataTableColumnIndex.java
index 2df9f4e98..6e55b39d1 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/data/DataTableColumnIndex.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/data/DataTableColumnIndex.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/data/DimensionConfigData.java b/src/main/java/com/rapidminer/gui/new_plotter/data/DimensionConfigData.java
index 275a08f9a..166b919f0 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/data/DimensionConfigData.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/data/DimensionConfigData.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/data/DomainConfigManagerData.java b/src/main/java/com/rapidminer/gui/new_plotter/data/DomainConfigManagerData.java
index 03fad0531..c720cf658 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/data/DomainConfigManagerData.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/data/DomainConfigManagerData.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/data/GroupCellData.java b/src/main/java/com/rapidminer/gui/new_plotter/data/GroupCellData.java
index 2d891cd12..1eaa4c2ba 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/data/GroupCellData.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/data/GroupCellData.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/data/GroupCellKeyAndData.java b/src/main/java/com/rapidminer/gui/new_plotter/data/GroupCellKeyAndData.java
index 71866223a..c2d4e848b 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/data/GroupCellKeyAndData.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/data/GroupCellKeyAndData.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/data/GroupCellSeriesData.java b/src/main/java/com/rapidminer/gui/new_plotter/data/GroupCellSeriesData.java
index ccb4063a1..9ea7b247d 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/data/GroupCellSeriesData.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/data/GroupCellSeriesData.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/data/PlotData.java b/src/main/java/com/rapidminer/gui/new_plotter/data/PlotData.java
index 02f316cd5..83db53812 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/data/PlotData.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/data/PlotData.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/data/PlotInstance.java b/src/main/java/com/rapidminer/gui/new_plotter/data/PlotInstance.java
index 3d5fd0350..39b9e5d59 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/data/PlotInstance.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/data/PlotInstance.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/data/RangeAxisData.java b/src/main/java/com/rapidminer/gui/new_plotter/data/RangeAxisData.java
index 125aa045b..3ad18f174 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/data/RangeAxisData.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/data/RangeAxisData.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/data/ValueSourceData.java b/src/main/java/com/rapidminer/gui/new_plotter/data/ValueSourceData.java
index f30a14cb2..058da27b7 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/data/ValueSourceData.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/data/ValueSourceData.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/engine/PlotEngine.java b/src/main/java/com/rapidminer/gui/new_plotter/engine/PlotEngine.java
index 588104eca..ad6c572dc 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/engine/PlotEngine.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/engine/PlotEngine.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/ChartAxisFactory.java b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/ChartAxisFactory.java
index 9ac9b0279..d08a1cc85 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/ChartAxisFactory.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/ChartAxisFactory.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/ChartDatasetFactory.java b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/ChartDatasetFactory.java
index 0f1fed391..9b43b9748 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/ChartDatasetFactory.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/ChartDatasetFactory.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/ChartRendererFactory.java b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/ChartRendererFactory.java
index a630e2f5a..837f0a2d2 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/ChartRendererFactory.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/ChartRendererFactory.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/JFreeChartPlotEngine.java b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/JFreeChartPlotEngine.java
index bc687841f..2726ec722 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/JFreeChartPlotEngine.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/JFreeChartPlotEngine.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/MultiAxesCrosshairOverlay.java b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/MultiAxesCrosshairOverlay.java
index e46d12c7c..4306cff0d 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/MultiAxesCrosshairOverlay.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/MultiAxesCrosshairOverlay.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/PlotInstanceLegendCreator.java b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/PlotInstanceLegendCreator.java
index eedc53f6f..ad127186e 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/PlotInstanceLegendCreator.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/PlotInstanceLegendCreator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/RenderFormatDelegate.java b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/RenderFormatDelegate.java
index 0c66eed7d..05558c0a6 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/RenderFormatDelegate.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/RenderFormatDelegate.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/actions/AddParallelLineAction.java b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/actions/AddParallelLineAction.java
index 7230b1102..fd81f459c 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/actions/AddParallelLineAction.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/actions/AddParallelLineAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/actions/ClearParallelLinesAction.java b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/actions/ClearParallelLinesAction.java
index 6970f16e5..edbfd9923 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/actions/ClearParallelLinesAction.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/actions/ClearParallelLinesAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/actions/CopyChartAction.java b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/actions/CopyChartAction.java
index df9452f4c..257ac1c71 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/actions/CopyChartAction.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/actions/CopyChartAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/actions/ManageParallelLinesAction.java b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/actions/ManageParallelLinesAction.java
index 7a565e6d4..64cc4a913 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/actions/ManageParallelLinesAction.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/actions/ManageParallelLinesAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/actions/ManageZoomAction.java b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/actions/ManageZoomAction.java
index 8e4c27c4b..6a7a6d9ad 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/actions/ManageZoomAction.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/actions/ManageZoomAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/dataset/ValueSourceToMultiValueCategoryDatasetAdapter.java b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/dataset/ValueSourceToMultiValueCategoryDatasetAdapter.java
index 21404a785..8092fdf0d 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/dataset/ValueSourceToMultiValueCategoryDatasetAdapter.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/dataset/ValueSourceToMultiValueCategoryDatasetAdapter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/legend/ColoredBlockContainer.java b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/legend/ColoredBlockContainer.java
index 740c5c525..579fc3ea8 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/legend/ColoredBlockContainer.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/legend/ColoredBlockContainer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/legend/CustomLegendGraphic.java b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/legend/CustomLegendGraphic.java
index 8f652b89b..592ba0a62 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/legend/CustomLegendGraphic.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/legend/CustomLegendGraphic.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/legend/CustomLegendItem.java b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/legend/CustomLegendItem.java
index 3b969a2f8..5b5795869 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/legend/CustomLegendItem.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/legend/CustomLegendItem.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/legend/FlankedShapeLegendItem.java b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/legend/FlankedShapeLegendItem.java
index 7a9d222c1..5f3e3bd17 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/legend/FlankedShapeLegendItem.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/legend/FlankedShapeLegendItem.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/legend/SmartLegendTitle.java b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/legend/SmartLegendTitle.java
index 9038b6e14..64d1163c6 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/legend/SmartLegendTitle.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/legend/SmartLegendTitle.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/link_and_brush/LinkAndBrushChartPanel.java b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/link_and_brush/LinkAndBrushChartPanel.java
index 83b5c2439..6b7da215b 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/link_and_brush/LinkAndBrushChartPanel.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/link_and_brush/LinkAndBrushChartPanel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/link_and_brush/axis/CustomDateAxis.java b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/link_and_brush/axis/CustomDateAxis.java
index 0f7e21630..52d589520 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/link_and_brush/axis/CustomDateAxis.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/link_and_brush/axis/CustomDateAxis.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/link_and_brush/axis/CustomLogarithmicAxis.java b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/link_and_brush/axis/CustomLogarithmicAxis.java
index 8df7396ce..104439a6c 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/link_and_brush/axis/CustomLogarithmicAxis.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/link_and_brush/axis/CustomLogarithmicAxis.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/link_and_brush/axis/CustomNumberAxis.java b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/link_and_brush/axis/CustomNumberAxis.java
index 121af7009..50de39e15 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/link_and_brush/axis/CustomNumberAxis.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/link_and_brush/axis/CustomNumberAxis.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/link_and_brush/axis/CustomSymbolAxis.java b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/link_and_brush/axis/CustomSymbolAxis.java
index 5302868fa..50bbe47e9 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/link_and_brush/axis/CustomSymbolAxis.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/link_and_brush/axis/CustomSymbolAxis.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/link_and_brush/axis/LinkAndBrushAxis.java b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/link_and_brush/axis/LinkAndBrushAxis.java
index 5d396a9e8..686eec3ca 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/link_and_brush/axis/LinkAndBrushAxis.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/link_and_brush/axis/LinkAndBrushAxis.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/link_and_brush/listener/LinkAndBrushListener.java b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/link_and_brush/listener/LinkAndBrushListener.java
index e53677aa2..e85d5187c 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/link_and_brush/listener/LinkAndBrushListener.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/link_and_brush/listener/LinkAndBrushListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/link_and_brush/listener/LinkAndBrushSelection.java b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/link_and_brush/listener/LinkAndBrushSelection.java
index e173e591f..35c341a8d 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/link_and_brush/listener/LinkAndBrushSelection.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/link_and_brush/listener/LinkAndBrushSelection.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/link_and_brush/listener/LinkAndBrushSelectionListener.java b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/link_and_brush/listener/LinkAndBrushSelectionListener.java
index 1320da233..b1d3e981e 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/link_and_brush/listener/LinkAndBrushSelectionListener.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/link_and_brush/listener/LinkAndBrushSelectionListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/link_and_brush/plots/LinkAndBrushCategoryPlot.java b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/link_and_brush/plots/LinkAndBrushCategoryPlot.java
index 0b6b2f73a..efb6ea1a8 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/link_and_brush/plots/LinkAndBrushCategoryPlot.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/link_and_brush/plots/LinkAndBrushCategoryPlot.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/link_and_brush/plots/LinkAndBrushPlot.java b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/link_and_brush/plots/LinkAndBrushPlot.java
index 59b25bd00..ae6b46933 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/link_and_brush/plots/LinkAndBrushPlot.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/link_and_brush/plots/LinkAndBrushPlot.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/link_and_brush/plots/LinkAndBrushXYPlot.java b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/link_and_brush/plots/LinkAndBrushXYPlot.java
index fd083dfbc..68ce9807e 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/link_and_brush/plots/LinkAndBrushXYPlot.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/link_and_brush/plots/LinkAndBrushXYPlot.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedAreaRenderer.java b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedAreaRenderer.java
index ee065355a..0cbad15e9 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedAreaRenderer.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedAreaRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedBarRenderer.java b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedBarRenderer.java
index a99158099..e317b5ebf 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedBarRenderer.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedBarRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedClusteredXYBarRenderer.java b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedClusteredXYBarRenderer.java
index 42dfbd2e4..50d140656 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedClusteredXYBarRenderer.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedClusteredXYBarRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedDeviationRenderer.java b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedDeviationRenderer.java
index 4e379e04d..0ef5416fb 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedDeviationRenderer.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedDeviationRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedLineAndShapeRenderer.java b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedLineAndShapeRenderer.java
index 37ad4d93e..147deeba0 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedLineAndShapeRenderer.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedLineAndShapeRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedRenderer.java b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedRenderer.java
index 0c6845fb5..b8c5340c2 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedRenderer.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedScatterRenderer.java b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedScatterRenderer.java
index 8e9c7db35..2f909160f 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedScatterRenderer.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedScatterRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedStackedAreaRenderer.java b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedStackedAreaRenderer.java
index ae9786f33..703418b2e 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedStackedAreaRenderer.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedStackedAreaRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedStackedBarRenderer.java b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedStackedBarRenderer.java
index dd5daf201..739c75a46 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedStackedBarRenderer.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedStackedBarRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedStackedXYAreaRenderer2.java b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedStackedXYAreaRenderer2.java
index 922873d02..210928bb6 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedStackedXYAreaRenderer2.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedStackedXYAreaRenderer2.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedStackedXYBarRenderer.java b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedStackedXYBarRenderer.java
index 670170e63..91587f43d 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedStackedXYBarRenderer.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedStackedXYBarRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedStatisticalBarRenderer.java b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedStatisticalBarRenderer.java
index ef7931dbe..59fc2bcc8 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedStatisticalBarRenderer.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedStatisticalBarRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedStatisticalLineAndShapeRenderer.java b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedStatisticalLineAndShapeRenderer.java
index ff0d6801a..635daff24 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedStatisticalLineAndShapeRenderer.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedStatisticalLineAndShapeRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedXYAreaRenderer2.java b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedXYAreaRenderer2.java
index 46c542faa..a868ee4a6 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedXYAreaRenderer2.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedXYAreaRenderer2.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedXYDifferenceRenderer.java b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedXYDifferenceRenderer.java
index 403b8a47d..af550f71f 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedXYDifferenceRenderer.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedXYDifferenceRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedXYErrorRenderer.java b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedXYErrorRenderer.java
index 9de1e3d27..8f04f1e90 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedXYErrorRenderer.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedXYErrorRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedXYLineAndShapeRenderer.java b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedXYLineAndShapeRenderer.java
index 7340688de..49778e171 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedXYLineAndShapeRenderer.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/engine/jfreechart/renderer/FormattedXYLineAndShapeRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/event/AxisParallelLineConfigurationChangeEvent.java b/src/main/java/com/rapidminer/gui/new_plotter/event/AxisParallelLineConfigurationChangeEvent.java
index 7fcca5b04..9135b3f1e 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/event/AxisParallelLineConfigurationChangeEvent.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/event/AxisParallelLineConfigurationChangeEvent.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/AbstractConfigurationPanel.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/AbstractConfigurationPanel.java
index 361f0bb48..e7141ee20 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/AbstractConfigurationPanel.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/AbstractConfigurationPanel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/AbstractTreeSelectionDependentPanel.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/AbstractTreeSelectionDependentPanel.java
index e66c2fbb4..c4d4501c8 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/AbstractTreeSelectionDependentPanel.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/AbstractTreeSelectionDependentPanel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/AreaAndBarChartConfigurationPanel.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/AreaAndBarChartConfigurationPanel.java
index a033cd923..12637e2e0 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/AreaAndBarChartConfigurationPanel.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/AreaAndBarChartConfigurationPanel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/AttributeDropTextField.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/AttributeDropTextField.java
index 980a7197b..c0588a103 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/AttributeDropTextField.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/AttributeDropTextField.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/AttributeSelectionDialog.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/AttributeSelectionDialog.java
index 1d1ab578e..546132d31 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/AttributeSelectionDialog.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/AttributeSelectionDialog.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/AxisConfigurationContainer.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/AxisConfigurationContainer.java
index bb9d32207..b7e963483 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/AxisConfigurationContainer.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/AxisConfigurationContainer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/ChartConfigurationPanel.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/ChartConfigurationPanel.java
index 73594163d..b3fdebddb 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/ChartConfigurationPanel.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/ChartConfigurationPanel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/ChartTitleConfigurationContainer.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/ChartTitleConfigurationContainer.java
index dbc12f914..3c65b6de4 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/ChartTitleConfigurationContainer.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/ChartTitleConfigurationContainer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/ColorSchemeDialog.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/ColorSchemeDialog.java
index dd3c9e299..6056fa37f 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/ColorSchemeDialog.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/ColorSchemeDialog.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/DimensionConfigPanel.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/DimensionConfigPanel.java
index 4aef09a68..35a8643b1 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/DimensionConfigPanel.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/DimensionConfigPanel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/FontDialog.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/FontDialog.java
index 5c52e7ca8..8181ee877 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/FontDialog.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/FontDialog.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/GlobalConfigurationPanel.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/GlobalConfigurationPanel.java
index 006ecb8b2..72428e3cc 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/GlobalConfigurationPanel.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/GlobalConfigurationPanel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/GroupingConfigurationPanel.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/GroupingConfigurationPanel.java
index e048f4a58..ea12a7fb1 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/GroupingConfigurationPanel.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/GroupingConfigurationPanel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/LegendConfigurationPanel.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/LegendConfigurationPanel.java
index 875ff3618..2c5737fe9 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/LegendConfigurationPanel.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/LegendConfigurationPanel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/LineChartConfigurationPanel.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/LineChartConfigurationPanel.java
index f0a4d4e5e..7d94c1ef9 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/LineChartConfigurationPanel.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/LineChartConfigurationPanel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/PlotConfigurationTree.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/PlotConfigurationTree.java
index a714f2ca4..ef445f5a1 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/PlotConfigurationTree.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/PlotConfigurationTree.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/PlotConfigurationTreeModel.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/PlotConfigurationTreeModel.java
index 6734dff82..0f35311e7 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/PlotConfigurationTreeModel.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/PlotConfigurationTreeModel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/RangeAxisConfigPanel.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/RangeAxisConfigPanel.java
index 5e3aa5f71..57b141681 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/RangeAxisConfigPanel.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/RangeAxisConfigPanel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/SeriesFormatConfigurationPanel.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/SeriesFormatConfigurationPanel.java
index 6e4a77188..7613f7b74 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/SeriesFormatConfigurationPanel.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/SeriesFormatConfigurationPanel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/ValueSourceConfigurationPanel.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/ValueSourceConfigurationPanel.java
index ee1c1b7fd..684040014 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/ValueSourceConfigurationPanel.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/ValueSourceConfigurationPanel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/WindowingConfigurationContainer.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/WindowingConfigurationContainer.java
index 00b9d868a..9c697cfe1 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/WindowingConfigurationContainer.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/WindowingConfigurationContainer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/cellrenderer/ColorListCellRenderer.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/cellrenderer/ColorListCellRenderer.java
index 802b3e479..d471a2874 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/cellrenderer/ColorListCellRenderer.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/cellrenderer/ColorListCellRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/cellrenderer/ColorRGBComboBoxCellRenderer.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/cellrenderer/ColorRGBComboBoxCellRenderer.java
index fe9140dbf..d43ccf6d0 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/cellrenderer/ColorRGBComboBoxCellRenderer.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/cellrenderer/ColorRGBComboBoxCellRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/cellrenderer/ColorSchemeComboBoxRenderer.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/cellrenderer/ColorSchemeComboBoxRenderer.java
index 39bc5362d..65483f6be 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/cellrenderer/ColorSchemeComboBoxRenderer.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/cellrenderer/ColorSchemeComboBoxRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/cellrenderer/ComboSeparatorsRenderer.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/cellrenderer/ComboSeparatorsRenderer.java
index 9a2aa3f99..a66cfe318 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/cellrenderer/ComboSeparatorsRenderer.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/cellrenderer/ComboSeparatorsRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/cellrenderer/DataTableColumnListCellRenderer.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/cellrenderer/DataTableColumnListCellRenderer.java
index 73760dee4..3e27a8eaa 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/cellrenderer/DataTableColumnListCellRenderer.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/cellrenderer/DataTableColumnListCellRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/cellrenderer/EnumComboBoxCellRenderer.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/cellrenderer/EnumComboBoxCellRenderer.java
index a7d4eb0c7..f18854214 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/cellrenderer/EnumComboBoxCellRenderer.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/cellrenderer/EnumComboBoxCellRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/cellrenderer/PlotConfigurationTreeCellRenderer.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/cellrenderer/PlotConfigurationTreeCellRenderer.java
index 09c2c96bc..93eebd9c1 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/cellrenderer/PlotConfigurationTreeCellRenderer.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/cellrenderer/PlotConfigurationTreeCellRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/cellrenderer/TreeNodeColors.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/cellrenderer/TreeNodeColors.java
index 1a8bb2512..226c3cf35 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/cellrenderer/TreeNodeColors.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/cellrenderer/TreeNodeColors.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/dialog/AddParallelLineDialog.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/dialog/AddParallelLineDialog.java
index da12394b0..e5d3c9ac8 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/dialog/AddParallelLineDialog.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/dialog/AddParallelLineDialog.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/dialog/EditParallelLineDialog.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/dialog/EditParallelLineDialog.java
index ed91ab6ad..b43599a77 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/dialog/EditParallelLineDialog.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/dialog/EditParallelLineDialog.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/dialog/ManageParallelLinesDialog.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/dialog/ManageParallelLinesDialog.java
index 7bddfa72a..c766aff5c 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/dialog/ManageParallelLinesDialog.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/dialog/ManageParallelLinesDialog.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/dialog/ManageZoomDialog.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/dialog/ManageZoomDialog.java
index a804d271e..01ec2a8d2 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/dialog/ManageZoomDialog.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/dialog/ManageZoomDialog.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/dnd/DataTableColumnCollection.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/dnd/DataTableColumnCollection.java
index 374111319..f81e9b530 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/dnd/DataTableColumnCollection.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/dnd/DataTableColumnCollection.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/dnd/DataTableColumnCollectionTransferable.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/dnd/DataTableColumnCollectionTransferable.java
index 6f6b1583f..10e89923b 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/dnd/DataTableColumnCollectionTransferable.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/dnd/DataTableColumnCollectionTransferable.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/dnd/DataTableColumnDropTextFieldTransferHandler.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/dnd/DataTableColumnDropTextFieldTransferHandler.java
index d0e09f039..1ceede2cc 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/dnd/DataTableColumnDropTextFieldTransferHandler.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/dnd/DataTableColumnDropTextFieldTransferHandler.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/dnd/DataTableColumnListTransferHandler.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/dnd/DataTableColumnListTransferHandler.java
index 55008a57d..b00df3709 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/dnd/DataTableColumnListTransferHandler.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/dnd/DataTableColumnListTransferHandler.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/dnd/PlotConfigurationTreeTransferHandler.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/dnd/PlotConfigurationTreeTransferHandler.java
index 783278958..792d00aa0 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/dnd/PlotConfigurationTreeTransferHandler.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/dnd/PlotConfigurationTreeTransferHandler.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/groupingpanel/AbstractGroupingCardPanel.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/groupingpanel/AbstractGroupingCardPanel.java
index 44c52b9ae..0269217fc 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/groupingpanel/AbstractGroupingCardPanel.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/groupingpanel/AbstractGroupingCardPanel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/groupingpanel/DistinctValueGroupingCardPanel.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/groupingpanel/DistinctValueGroupingCardPanel.java
index 4f24423f2..1c292a8fa 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/groupingpanel/DistinctValueGroupingCardPanel.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/groupingpanel/DistinctValueGroupingCardPanel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/groupingpanel/EqualDataFractionCardPanel.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/groupingpanel/EqualDataFractionCardPanel.java
index 339d231dc..ff9101078 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/groupingpanel/EqualDataFractionCardPanel.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/groupingpanel/EqualDataFractionCardPanel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/groupingpanel/EquidistantFixedBinCountCardPanel.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/groupingpanel/EquidistantFixedBinCountCardPanel.java
index ac4ab121f..40bc896a2 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/groupingpanel/EquidistantFixedBinCountCardPanel.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/groupingpanel/EquidistantFixedBinCountCardPanel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/popup/PopupAction.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/popup/PopupAction.java
index 4f5107cf6..18353ae7b 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/popup/PopupAction.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/popup/PopupAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/popup/PopupComponentListener.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/popup/PopupComponentListener.java
index c85c7d8c7..a3b8e5c20 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/popup/PopupComponentListener.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/popup/PopupComponentListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/popup/PopupPanel.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/popup/PopupPanel.java
index e4441bae8..2ba7ea3ae 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/popup/PopupPanel.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/popup/PopupPanel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/treenodes/DimensionConfigTreeNode.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/treenodes/DimensionConfigTreeNode.java
index 146de5b02..e01d2a6fb 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/treenodes/DimensionConfigTreeNode.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/treenodes/DimensionConfigTreeNode.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/treenodes/PlotConfigurationTreeNode.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/treenodes/PlotConfigurationTreeNode.java
index d4da2fd71..8c6275c6c 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/treenodes/PlotConfigurationTreeNode.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/treenodes/PlotConfigurationTreeNode.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/treenodes/RangeAxisConfigTreeNode.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/treenodes/RangeAxisConfigTreeNode.java
index bb123290d..b7c47fbe9 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/treenodes/RangeAxisConfigTreeNode.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/treenodes/RangeAxisConfigTreeNode.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/gui/treenodes/ValueSourceTreeNode.java b/src/main/java/com/rapidminer/gui/new_plotter/gui/treenodes/ValueSourceTreeNode.java
index 839ea3a36..e4fe56264 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/gui/treenodes/ValueSourceTreeNode.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/gui/treenodes/ValueSourceTreeNode.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/integration/ExpertDataTableRenderer.java b/src/main/java/com/rapidminer/gui/new_plotter/integration/ExpertDataTableRenderer.java
index 91adb9c81..685627bc4 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/integration/ExpertDataTableRenderer.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/integration/ExpertDataTableRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/integration/PlotConfigurationHistory.java b/src/main/java/com/rapidminer/gui/new_plotter/integration/PlotConfigurationHistory.java
index cdb857a3f..04235c0fd 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/integration/PlotConfigurationHistory.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/integration/PlotConfigurationHistory.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/listener/AggregationWindowingListener.java b/src/main/java/com/rapidminer/gui/new_plotter/listener/AggregationWindowingListener.java
index 99b3c5839..9d53a7282 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/listener/AggregationWindowingListener.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/listener/AggregationWindowingListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/listener/AxisParallelLineConfigurationListener.java b/src/main/java/com/rapidminer/gui/new_plotter/listener/AxisParallelLineConfigurationListener.java
index 073fd70b2..ab7636914 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/listener/AxisParallelLineConfigurationListener.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/listener/AxisParallelLineConfigurationListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/listener/DimensionConfigListener.java b/src/main/java/com/rapidminer/gui/new_plotter/listener/DimensionConfigListener.java
index 8f3644d25..7aec0ea1a 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/listener/DimensionConfigListener.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/listener/DimensionConfigListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/listener/JFreeChartPlotEngineListener.java b/src/main/java/com/rapidminer/gui/new_plotter/listener/JFreeChartPlotEngineListener.java
index fb07e17d1..5be52ae80 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/listener/JFreeChartPlotEngineListener.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/listener/JFreeChartPlotEngineListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/listener/LegendConfigurationListener.java b/src/main/java/com/rapidminer/gui/new_plotter/listener/LegendConfigurationListener.java
index 063cf5113..789057ec6 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/listener/LegendConfigurationListener.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/listener/LegendConfigurationListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/listener/MasterOfDesasterListener.java b/src/main/java/com/rapidminer/gui/new_plotter/listener/MasterOfDesasterListener.java
index dd3bd62f9..38f3ba5f0 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/listener/MasterOfDesasterListener.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/listener/MasterOfDesasterListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/listener/PlotConfigurationListener.java b/src/main/java/com/rapidminer/gui/new_plotter/listener/PlotConfigurationListener.java
index 6ed14ab6a..fe676beac 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/listener/PlotConfigurationListener.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/listener/PlotConfigurationListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/listener/PlotConfigurationProcessingListener.java b/src/main/java/com/rapidminer/gui/new_plotter/listener/PlotConfigurationProcessingListener.java
index ece02680a..219037d9c 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/listener/PlotConfigurationProcessingListener.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/listener/PlotConfigurationProcessingListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/listener/PlotInstanceChangedListener.java b/src/main/java/com/rapidminer/gui/new_plotter/listener/PlotInstanceChangedListener.java
index da8d7d0bd..ad78960f1 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/listener/PlotInstanceChangedListener.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/listener/PlotInstanceChangedListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/listener/RangeAxisConfigListener.java b/src/main/java/com/rapidminer/gui/new_plotter/listener/RangeAxisConfigListener.java
index f6e18ce66..32b77b5e5 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/listener/RangeAxisConfigListener.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/listener/RangeAxisConfigListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/listener/RenderFormatDelegateChangeListener.java b/src/main/java/com/rapidminer/gui/new_plotter/listener/RenderFormatDelegateChangeListener.java
index 89561ed4a..cc9add409 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/listener/RenderFormatDelegateChangeListener.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/listener/RenderFormatDelegateChangeListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/listener/SeriesFormatListener.java b/src/main/java/com/rapidminer/gui/new_plotter/listener/SeriesFormatListener.java
index ecf2b2457..5caf23670 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/listener/SeriesFormatListener.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/listener/SeriesFormatListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/listener/ValueGroupingListener.java b/src/main/java/com/rapidminer/gui/new_plotter/listener/ValueGroupingListener.java
index 14b1df5da..1f1ba6c53 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/listener/ValueGroupingListener.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/listener/ValueGroupingListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/listener/ValueRangeListener.java b/src/main/java/com/rapidminer/gui/new_plotter/listener/ValueRangeListener.java
index e1ccd23e2..c4ea7aa9e 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/listener/ValueRangeListener.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/listener/ValueRangeListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/listener/ValueSourceListener.java b/src/main/java/com/rapidminer/gui/new_plotter/listener/ValueSourceListener.java
index 669a3dea8..96cb48a5e 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/listener/ValueSourceListener.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/listener/ValueSourceListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/listener/events/ConfigurationChangeEvent.java b/src/main/java/com/rapidminer/gui/new_plotter/listener/events/ConfigurationChangeEvent.java
index 7a862fb81..a50f38cc1 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/listener/events/ConfigurationChangeEvent.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/listener/events/ConfigurationChangeEvent.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/listener/events/DimensionConfigChangeEvent.java b/src/main/java/com/rapidminer/gui/new_plotter/listener/events/DimensionConfigChangeEvent.java
index 4ca753241..edc420fd0 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/listener/events/DimensionConfigChangeEvent.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/listener/events/DimensionConfigChangeEvent.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/listener/events/LegendConfigurationChangeEvent.java b/src/main/java/com/rapidminer/gui/new_plotter/listener/events/LegendConfigurationChangeEvent.java
index 9f82475bf..479bcb006 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/listener/events/LegendConfigurationChangeEvent.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/listener/events/LegendConfigurationChangeEvent.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/listener/events/LineFormatChangeEvent.java b/src/main/java/com/rapidminer/gui/new_plotter/listener/events/LineFormatChangeEvent.java
index f9861a9d2..a33fb3b88 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/listener/events/LineFormatChangeEvent.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/listener/events/LineFormatChangeEvent.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/listener/events/PlotConfigurationChangeEvent.java b/src/main/java/com/rapidminer/gui/new_plotter/listener/events/PlotConfigurationChangeEvent.java
index 659861574..95c9ccb3e 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/listener/events/PlotConfigurationChangeEvent.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/listener/events/PlotConfigurationChangeEvent.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/listener/events/RangeAxisConfigChangeEvent.java b/src/main/java/com/rapidminer/gui/new_plotter/listener/events/RangeAxisConfigChangeEvent.java
index ac4b88fc0..5a6171600 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/listener/events/RangeAxisConfigChangeEvent.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/listener/events/RangeAxisConfigChangeEvent.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/listener/events/SeriesFormatChangeEvent.java b/src/main/java/com/rapidminer/gui/new_plotter/listener/events/SeriesFormatChangeEvent.java
index 6b6ac5f96..0a2790cdc 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/listener/events/SeriesFormatChangeEvent.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/listener/events/SeriesFormatChangeEvent.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/listener/events/ValueGroupingChangeEvent.java b/src/main/java/com/rapidminer/gui/new_plotter/listener/events/ValueGroupingChangeEvent.java
index 303d1fe82..f384d37cb 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/listener/events/ValueGroupingChangeEvent.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/listener/events/ValueGroupingChangeEvent.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/listener/events/ValueRangeChangeEvent.java b/src/main/java/com/rapidminer/gui/new_plotter/listener/events/ValueRangeChangeEvent.java
index f6157357c..b2f5fc9ad 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/listener/events/ValueRangeChangeEvent.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/listener/events/ValueRangeChangeEvent.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/listener/events/ValueSourceChangeEvent.java b/src/main/java/com/rapidminer/gui/new_plotter/listener/events/ValueSourceChangeEvent.java
index c95f94599..ef79f87d4 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/listener/events/ValueSourceChangeEvent.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/listener/events/ValueSourceChangeEvent.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/templates/style/ColorRGB.java b/src/main/java/com/rapidminer/gui/new_plotter/templates/style/ColorRGB.java
index 56b29d79c..2677f2d55 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/templates/style/ColorRGB.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/templates/style/ColorRGB.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/templates/style/ColorScheme.java b/src/main/java/com/rapidminer/gui/new_plotter/templates/style/ColorScheme.java
index c1fbf2f3d..fbe6b4250 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/templates/style/ColorScheme.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/templates/style/ColorScheme.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/templates/style/PlotterStyleProvider.java b/src/main/java/com/rapidminer/gui/new_plotter/templates/style/PlotterStyleProvider.java
index 8e1bdf3a9..49d66cc99 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/templates/style/PlotterStyleProvider.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/templates/style/PlotterStyleProvider.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/utility/AbstractValueRange.java b/src/main/java/com/rapidminer/gui/new_plotter/utility/AbstractValueRange.java
index 83ae1a30b..c62923a0e 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/utility/AbstractValueRange.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/utility/AbstractValueRange.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/utility/AggregatedValueRange.java b/src/main/java/com/rapidminer/gui/new_plotter/utility/AggregatedValueRange.java
index 8efc169ff..c0d5c13b3 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/utility/AggregatedValueRange.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/utility/AggregatedValueRange.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/utility/CategoricalColorProvider.java b/src/main/java/com/rapidminer/gui/new_plotter/utility/CategoricalColorProvider.java
index d81c71e9c..bf67b16a2 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/utility/CategoricalColorProvider.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/utility/CategoricalColorProvider.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/utility/CategoricalSizeProvider.java b/src/main/java/com/rapidminer/gui/new_plotter/utility/CategoricalSizeProvider.java
index d67698944..f1590c9db 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/utility/CategoricalSizeProvider.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/utility/CategoricalSizeProvider.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/utility/ColorProvider.java b/src/main/java/com/rapidminer/gui/new_plotter/utility/ColorProvider.java
index a299a444e..583da0446 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/utility/ColorProvider.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/utility/ColorProvider.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/utility/ContinuousColorProvider.java b/src/main/java/com/rapidminer/gui/new_plotter/utility/ContinuousColorProvider.java
index 31a78e38a..279c8bac0 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/utility/ContinuousColorProvider.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/utility/ContinuousColorProvider.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/utility/ContinuousSizeProvider.java b/src/main/java/com/rapidminer/gui/new_plotter/utility/ContinuousSizeProvider.java
index 88178b922..f5731c949 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/utility/ContinuousSizeProvider.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/utility/ContinuousSizeProvider.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/utility/DataStructureUtils.java b/src/main/java/com/rapidminer/gui/new_plotter/utility/DataStructureUtils.java
index 058c7bf33..95c7aafb1 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/utility/DataStructureUtils.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/utility/DataStructureUtils.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/utility/DataTransformation.java b/src/main/java/com/rapidminer/gui/new_plotter/utility/DataTransformation.java
index 3803d68aa..15ec6dc1b 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/utility/DataTransformation.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/utility/DataTransformation.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/utility/ListUtility.java b/src/main/java/com/rapidminer/gui/new_plotter/utility/ListUtility.java
index a200b4aaa..c0e863607 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/utility/ListUtility.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/utility/ListUtility.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/utility/NumericalValueRange.java b/src/main/java/com/rapidminer/gui/new_plotter/utility/NumericalValueRange.java
index af4cc5231..4bfd4500f 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/utility/NumericalValueRange.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/utility/NumericalValueRange.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/utility/SayNoValueRange.java b/src/main/java/com/rapidminer/gui/new_plotter/utility/SayNoValueRange.java
index 55c8040c1..a6fb65c7d 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/utility/SayNoValueRange.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/utility/SayNoValueRange.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/utility/ShapeProvider.java b/src/main/java/com/rapidminer/gui/new_plotter/utility/ShapeProvider.java
index c8883bb10..ae39c2f62 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/utility/ShapeProvider.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/utility/ShapeProvider.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/utility/SingleValueValueRange.java b/src/main/java/com/rapidminer/gui/new_plotter/utility/SingleValueValueRange.java
index 76b149fc9..1f3bac7bf 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/utility/SingleValueValueRange.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/utility/SingleValueValueRange.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/utility/SizeProvider.java b/src/main/java/com/rapidminer/gui/new_plotter/utility/SizeProvider.java
index 46d17e58a..eccedfad1 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/utility/SizeProvider.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/utility/SizeProvider.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/utility/SortProvider.java b/src/main/java/com/rapidminer/gui/new_plotter/utility/SortProvider.java
index 005beae65..7f4627e5b 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/utility/SortProvider.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/utility/SortProvider.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/new_plotter/utility/ValueRange.java b/src/main/java/com/rapidminer/gui/new_plotter/utility/ValueRange.java
index 2597b4096..f1267b947 100644
--- a/src/main/java/com/rapidminer/gui/new_plotter/utility/ValueRange.java
+++ b/src/main/java/com/rapidminer/gui/new_plotter/utility/ValueRange.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/operatormenu/NewOperatorMenu.java b/src/main/java/com/rapidminer/gui/operatormenu/NewOperatorMenu.java
index 115e578bf..866e55249 100644
--- a/src/main/java/com/rapidminer/gui/operatormenu/NewOperatorMenu.java
+++ b/src/main/java/com/rapidminer/gui/operatormenu/NewOperatorMenu.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/operatormenu/OperatorGroupMenu.java b/src/main/java/com/rapidminer/gui/operatormenu/OperatorGroupMenu.java
index 2fc0ac896..2e9bfd634 100644
--- a/src/main/java/com/rapidminer/gui/operatormenu/OperatorGroupMenu.java
+++ b/src/main/java/com/rapidminer/gui/operatormenu/OperatorGroupMenu.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/operatormenu/OperatorMenu.java b/src/main/java/com/rapidminer/gui/operatormenu/OperatorMenu.java
index e2682ffa3..9930c4421 100644
--- a/src/main/java/com/rapidminer/gui/operatormenu/OperatorMenu.java
+++ b/src/main/java/com/rapidminer/gui/operatormenu/OperatorMenu.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/operatormenu/ReplaceOperatorMenu.java b/src/main/java/com/rapidminer/gui/operatormenu/ReplaceOperatorMenu.java
index 0535f0ece..716fd723c 100644
--- a/src/main/java/com/rapidminer/gui/operatormenu/ReplaceOperatorMenu.java
+++ b/src/main/java/com/rapidminer/gui/operatormenu/ReplaceOperatorMenu.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/operatortree/OperatorTree.java b/src/main/java/com/rapidminer/gui/operatortree/OperatorTree.java
index 8063846fe..84240699a 100644
--- a/src/main/java/com/rapidminer/gui/operatortree/OperatorTree.java
+++ b/src/main/java/com/rapidminer/gui/operatortree/OperatorTree.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/operatortree/OperatorTreeCellRenderer.java b/src/main/java/com/rapidminer/gui/operatortree/OperatorTreeCellRenderer.java
index 5947d7947..497e05e0f 100644
--- a/src/main/java/com/rapidminer/gui/operatortree/OperatorTreeCellRenderer.java
+++ b/src/main/java/com/rapidminer/gui/operatortree/OperatorTreeCellRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/operatortree/OperatorTreePanel.java b/src/main/java/com/rapidminer/gui/operatortree/OperatorTreePanel.java
index 80c2ebccc..aa4d93298 100644
--- a/src/main/java/com/rapidminer/gui/operatortree/OperatorTreePanel.java
+++ b/src/main/java/com/rapidminer/gui/operatortree/OperatorTreePanel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/operatortree/ProcessTreeModel.java b/src/main/java/com/rapidminer/gui/operatortree/ProcessTreeModel.java
index 0f1e53eee..1c69e9361 100644
--- a/src/main/java/com/rapidminer/gui/operatortree/ProcessTreeModel.java
+++ b/src/main/java/com/rapidminer/gui/operatortree/ProcessTreeModel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/operatortree/actions/ActionUtil.java b/src/main/java/com/rapidminer/gui/operatortree/actions/ActionUtil.java
index 1cd736325..e2c0bfd51 100644
--- a/src/main/java/com/rapidminer/gui/operatortree/actions/ActionUtil.java
+++ b/src/main/java/com/rapidminer/gui/operatortree/actions/ActionUtil.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/operatortree/actions/CollapseAllAction.java b/src/main/java/com/rapidminer/gui/operatortree/actions/CollapseAllAction.java
index 95bce9af2..2c6bfa6b1 100644
--- a/src/main/java/com/rapidminer/gui/operatortree/actions/CollapseAllAction.java
+++ b/src/main/java/com/rapidminer/gui/operatortree/actions/CollapseAllAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/operatortree/actions/CutCopyPasteDeleteAction.java b/src/main/java/com/rapidminer/gui/operatortree/actions/CutCopyPasteDeleteAction.java
index 001aec486..235e245c2 100644
--- a/src/main/java/com/rapidminer/gui/operatortree/actions/CutCopyPasteDeleteAction.java
+++ b/src/main/java/com/rapidminer/gui/operatortree/actions/CutCopyPasteDeleteAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/operatortree/actions/DeleteOperatorAction.java b/src/main/java/com/rapidminer/gui/operatortree/actions/DeleteOperatorAction.java
index e836ecbfe..e96fe1601 100644
--- a/src/main/java/com/rapidminer/gui/operatortree/actions/DeleteOperatorAction.java
+++ b/src/main/java/com/rapidminer/gui/operatortree/actions/DeleteOperatorAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/operatortree/actions/ExpandAllAction.java b/src/main/java/com/rapidminer/gui/operatortree/actions/ExpandAllAction.java
index cdf9b7d32..86037a1db 100644
--- a/src/main/java/com/rapidminer/gui/operatortree/actions/ExpandAllAction.java
+++ b/src/main/java/com/rapidminer/gui/operatortree/actions/ExpandAllAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/operatortree/actions/InfoOperatorAction.java b/src/main/java/com/rapidminer/gui/operatortree/actions/InfoOperatorAction.java
index 2953072c9..519b9dcd5 100644
--- a/src/main/java/com/rapidminer/gui/operatortree/actions/InfoOperatorAction.java
+++ b/src/main/java/com/rapidminer/gui/operatortree/actions/InfoOperatorAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/operatortree/actions/ToggleActivationItem.java b/src/main/java/com/rapidminer/gui/operatortree/actions/ToggleActivationItem.java
index c71a46bd2..917733064 100644
--- a/src/main/java/com/rapidminer/gui/operatortree/actions/ToggleActivationItem.java
+++ b/src/main/java/com/rapidminer/gui/operatortree/actions/ToggleActivationItem.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/operatortree/actions/ToggleAllBreakpointsItem.java b/src/main/java/com/rapidminer/gui/operatortree/actions/ToggleAllBreakpointsItem.java
index 3f6c5b22e..8b05303d3 100644
--- a/src/main/java/com/rapidminer/gui/operatortree/actions/ToggleAllBreakpointsItem.java
+++ b/src/main/java/com/rapidminer/gui/operatortree/actions/ToggleAllBreakpointsItem.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -18,14 +18,15 @@
*/
package com.rapidminer.gui.operatortree.actions;
+import java.awt.event.ActionEvent;
+
import com.rapidminer.BreakpointListener;
+import com.rapidminer.gui.RapidMinerGUI;
import com.rapidminer.gui.actions.Actions;
import com.rapidminer.gui.actions.ToggleAction;
import com.rapidminer.operator.Operator;
import com.rapidminer.operator.OperatorChain;
-import java.awt.event.ActionEvent;
-
/**
* Start the corresponding action.
@@ -36,16 +37,22 @@ public class ToggleAllBreakpointsItem extends ToggleAction {
private static final long serialVersionUID = 1727841552148351670L;
- private final Actions actions;
- public ToggleAllBreakpointsItem(final Actions actions) {
+ public ToggleAllBreakpointsItem() {
super(true, "toggle_all_breakpoints");
- this.actions = actions;
+ }
+
+ /**
+ * @deprecated use {@link #ToggleAllBreakpointsItem()} instead
+ */
+ @Deprecated
+ public ToggleAllBreakpointsItem(final Actions actions) {
+ this();
}
@Override
public void actionToggled(ActionEvent e) {
- Operator rootOp = actions.getRootOperator();
+ Operator rootOp = RapidMinerGUI.getMainFrame().getActions().getRootOperator();
if (rootOp != null) {
for (Operator op : ((OperatorChain) rootOp).getAllInnerOperators()) {
op.setBreakpoint(BreakpointListener.BREAKPOINT_BEFORE, false);
diff --git a/src/main/java/com/rapidminer/gui/operatortree/actions/ToggleBreakpointItem.java b/src/main/java/com/rapidminer/gui/operatortree/actions/ToggleBreakpointItem.java
index 20a1fedbd..a6b6d4d51 100644
--- a/src/main/java/com/rapidminer/gui/operatortree/actions/ToggleBreakpointItem.java
+++ b/src/main/java/com/rapidminer/gui/operatortree/actions/ToggleBreakpointItem.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/AndrewsCurves.java b/src/main/java/com/rapidminer/gui/plotter/AndrewsCurves.java
index 5a3394b44..2380a75a3 100644
--- a/src/main/java/com/rapidminer/gui/plotter/AndrewsCurves.java
+++ b/src/main/java/com/rapidminer/gui/plotter/AndrewsCurves.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/AxisNameResolver.java b/src/main/java/com/rapidminer/gui/plotter/AxisNameResolver.java
index c97b4184a..2c353897c 100644
--- a/src/main/java/com/rapidminer/gui/plotter/AxisNameResolver.java
+++ b/src/main/java/com/rapidminer/gui/plotter/AxisNameResolver.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/AxisTransformation.java b/src/main/java/com/rapidminer/gui/plotter/AxisTransformation.java
index 26da1f557..82345ab3d 100644
--- a/src/main/java/com/rapidminer/gui/plotter/AxisTransformation.java
+++ b/src/main/java/com/rapidminer/gui/plotter/AxisTransformation.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/AxisTransformationId.java b/src/main/java/com/rapidminer/gui/plotter/AxisTransformationId.java
index a1e7cb514..26b69ce67 100644
--- a/src/main/java/com/rapidminer/gui/plotter/AxisTransformationId.java
+++ b/src/main/java/com/rapidminer/gui/plotter/AxisTransformationId.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/AxisTransformationLog.java b/src/main/java/com/rapidminer/gui/plotter/AxisTransformationLog.java
index c6c2ffc3d..73af80af6 100644
--- a/src/main/java/com/rapidminer/gui/plotter/AxisTransformationLog.java
+++ b/src/main/java/com/rapidminer/gui/plotter/AxisTransformationLog.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/BoundDiagram.java b/src/main/java/com/rapidminer/gui/plotter/BoundDiagram.java
index 0658daf25..c97b63d33 100644
--- a/src/main/java/com/rapidminer/gui/plotter/BoundDiagram.java
+++ b/src/main/java/com/rapidminer/gui/plotter/BoundDiagram.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/ColorPlotterPoint.java b/src/main/java/com/rapidminer/gui/plotter/ColorPlotterPoint.java
index 436270b35..c7512471f 100644
--- a/src/main/java/com/rapidminer/gui/plotter/ColorPlotterPoint.java
+++ b/src/main/java/com/rapidminer/gui/plotter/ColorPlotterPoint.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/ColorProvider.java b/src/main/java/com/rapidminer/gui/plotter/ColorProvider.java
index 6bfd5dc93..5adc4bd36 100644
--- a/src/main/java/com/rapidminer/gui/plotter/ColorProvider.java
+++ b/src/main/java/com/rapidminer/gui/plotter/ColorProvider.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/ColorQuartileMatrixPlotter.java b/src/main/java/com/rapidminer/gui/plotter/ColorQuartileMatrixPlotter.java
index 5f69ed412..4b9bb9806 100644
--- a/src/main/java/com/rapidminer/gui/plotter/ColorQuartileMatrixPlotter.java
+++ b/src/main/java/com/rapidminer/gui/plotter/ColorQuartileMatrixPlotter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/ColorQuartilePlotter.java b/src/main/java/com/rapidminer/gui/plotter/ColorQuartilePlotter.java
index 743320022..74db89331 100644
--- a/src/main/java/com/rapidminer/gui/plotter/ColorQuartilePlotter.java
+++ b/src/main/java/com/rapidminer/gui/plotter/ColorQuartilePlotter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/CoordinateTransformation.java b/src/main/java/com/rapidminer/gui/plotter/CoordinateTransformation.java
index 4c12fb60c..a9604fc5a 100644
--- a/src/main/java/com/rapidminer/gui/plotter/CoordinateTransformation.java
+++ b/src/main/java/com/rapidminer/gui/plotter/CoordinateTransformation.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/CoordinatesHandler.java b/src/main/java/com/rapidminer/gui/plotter/CoordinatesHandler.java
index f97bcd992..e577baa16 100644
--- a/src/main/java/com/rapidminer/gui/plotter/CoordinatesHandler.java
+++ b/src/main/java/com/rapidminer/gui/plotter/CoordinatesHandler.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/DensityPlotter.java b/src/main/java/com/rapidminer/gui/plotter/DensityPlotter.java
index cdd48a4d9..c8a263954 100644
--- a/src/main/java/com/rapidminer/gui/plotter/DensityPlotter.java
+++ b/src/main/java/com/rapidminer/gui/plotter/DensityPlotter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/ExamplePlotterPoint.java b/src/main/java/com/rapidminer/gui/plotter/ExamplePlotterPoint.java
index 81931ba85..43fd0dbb7 100644
--- a/src/main/java/com/rapidminer/gui/plotter/ExamplePlotterPoint.java
+++ b/src/main/java/com/rapidminer/gui/plotter/ExamplePlotterPoint.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/GridVizPlotter.java b/src/main/java/com/rapidminer/gui/plotter/GridVizPlotter.java
index f069af21f..5c08f0580 100644
--- a/src/main/java/com/rapidminer/gui/plotter/GridVizPlotter.java
+++ b/src/main/java/com/rapidminer/gui/plotter/GridVizPlotter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/HeuristicPlotterConfigurator.java b/src/main/java/com/rapidminer/gui/plotter/HeuristicPlotterConfigurator.java
index 303070574..c73b7df79 100644
--- a/src/main/java/com/rapidminer/gui/plotter/HeuristicPlotterConfigurator.java
+++ b/src/main/java/com/rapidminer/gui/plotter/HeuristicPlotterConfigurator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/HintonDiagram.java b/src/main/java/com/rapidminer/gui/plotter/HintonDiagram.java
index 1c047ebb9..02315878a 100644
--- a/src/main/java/com/rapidminer/gui/plotter/HintonDiagram.java
+++ b/src/main/java/com/rapidminer/gui/plotter/HintonDiagram.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/LabelRotatingPlotterAdapter.java b/src/main/java/com/rapidminer/gui/plotter/LabelRotatingPlotterAdapter.java
index bc09efbf9..b27a6f326 100644
--- a/src/main/java/com/rapidminer/gui/plotter/LabelRotatingPlotterAdapter.java
+++ b/src/main/java/com/rapidminer/gui/plotter/LabelRotatingPlotterAdapter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/LocalNormalizationPlotterAdapter.java b/src/main/java/com/rapidminer/gui/plotter/LocalNormalizationPlotterAdapter.java
index 566170db8..db1e21043 100644
--- a/src/main/java/com/rapidminer/gui/plotter/LocalNormalizationPlotterAdapter.java
+++ b/src/main/java/com/rapidminer/gui/plotter/LocalNormalizationPlotterAdapter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/NameValue.java b/src/main/java/com/rapidminer/gui/plotter/NameValue.java
index 2381c9733..58ce0662e 100644
--- a/src/main/java/com/rapidminer/gui/plotter/NameValue.java
+++ b/src/main/java/com/rapidminer/gui/plotter/NameValue.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/NullCoordinateTransformation.java b/src/main/java/com/rapidminer/gui/plotter/NullCoordinateTransformation.java
index 96a1fe188..d156b7039 100644
--- a/src/main/java/com/rapidminer/gui/plotter/NullCoordinateTransformation.java
+++ b/src/main/java/com/rapidminer/gui/plotter/NullCoordinateTransformation.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/ParallelPlotter.java b/src/main/java/com/rapidminer/gui/plotter/ParallelPlotter.java
index e2b87e472..18e6f3ae0 100644
--- a/src/main/java/com/rapidminer/gui/plotter/ParallelPlotter.java
+++ b/src/main/java/com/rapidminer/gui/plotter/ParallelPlotter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/Plot.java b/src/main/java/com/rapidminer/gui/plotter/Plot.java
index 629d21bbf..5eff583d9 100644
--- a/src/main/java/com/rapidminer/gui/plotter/Plot.java
+++ b/src/main/java/com/rapidminer/gui/plotter/Plot.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/Plotter.java b/src/main/java/com/rapidminer/gui/plotter/Plotter.java
index 96ae67bc3..24fd20298 100644
--- a/src/main/java/com/rapidminer/gui/plotter/Plotter.java
+++ b/src/main/java/com/rapidminer/gui/plotter/Plotter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/PlotterAdapter.java b/src/main/java/com/rapidminer/gui/plotter/PlotterAdapter.java
index 062d1a1e5..b04f329b0 100644
--- a/src/main/java/com/rapidminer/gui/plotter/PlotterAdapter.java
+++ b/src/main/java/com/rapidminer/gui/plotter/PlotterAdapter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/PlotterChooser.java b/src/main/java/com/rapidminer/gui/plotter/PlotterChooser.java
index 788b10ef3..2cafb505a 100644
--- a/src/main/java/com/rapidminer/gui/plotter/PlotterChooser.java
+++ b/src/main/java/com/rapidminer/gui/plotter/PlotterChooser.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/PlotterConfigurationModel.java b/src/main/java/com/rapidminer/gui/plotter/PlotterConfigurationModel.java
index 31133a608..c2cc8012b 100644
--- a/src/main/java/com/rapidminer/gui/plotter/PlotterConfigurationModel.java
+++ b/src/main/java/com/rapidminer/gui/plotter/PlotterConfigurationModel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/PlotterConfigurationSettings.java b/src/main/java/com/rapidminer/gui/plotter/PlotterConfigurationSettings.java
index 76016cedc..c9af1180e 100644
--- a/src/main/java/com/rapidminer/gui/plotter/PlotterConfigurationSettings.java
+++ b/src/main/java/com/rapidminer/gui/plotter/PlotterConfigurationSettings.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/PlotterControlPanel.java b/src/main/java/com/rapidminer/gui/plotter/PlotterControlPanel.java
index 7a0e5f71d..91dc7dd10 100644
--- a/src/main/java/com/rapidminer/gui/plotter/PlotterControlPanel.java
+++ b/src/main/java/com/rapidminer/gui/plotter/PlotterControlPanel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/PlotterLegend.java b/src/main/java/com/rapidminer/gui/plotter/PlotterLegend.java
index ec43f99b0..58464b95b 100644
--- a/src/main/java/com/rapidminer/gui/plotter/PlotterLegend.java
+++ b/src/main/java/com/rapidminer/gui/plotter/PlotterLegend.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/PlotterMouseHandler.java b/src/main/java/com/rapidminer/gui/plotter/PlotterMouseHandler.java
index d0ae8e721..fa487c088 100644
--- a/src/main/java/com/rapidminer/gui/plotter/PlotterMouseHandler.java
+++ b/src/main/java/com/rapidminer/gui/plotter/PlotterMouseHandler.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/PlotterPanel.java b/src/main/java/com/rapidminer/gui/plotter/PlotterPanel.java
index b1b59a846..53fb156e9 100644
--- a/src/main/java/com/rapidminer/gui/plotter/PlotterPanel.java
+++ b/src/main/java/com/rapidminer/gui/plotter/PlotterPanel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/PlotterPoint.java b/src/main/java/com/rapidminer/gui/plotter/PlotterPoint.java
index 7c0aaf578..82ce02701 100644
--- a/src/main/java/com/rapidminer/gui/plotter/PlotterPoint.java
+++ b/src/main/java/com/rapidminer/gui/plotter/PlotterPoint.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/Quartile.java b/src/main/java/com/rapidminer/gui/plotter/Quartile.java
index fc4e881c2..26ff0af63 100644
--- a/src/main/java/com/rapidminer/gui/plotter/Quartile.java
+++ b/src/main/java/com/rapidminer/gui/plotter/Quartile.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/QuartilePlotter.java b/src/main/java/com/rapidminer/gui/plotter/QuartilePlotter.java
index 2275762a9..64e15219b 100644
--- a/src/main/java/com/rapidminer/gui/plotter/QuartilePlotter.java
+++ b/src/main/java/com/rapidminer/gui/plotter/QuartilePlotter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/RadVizPlotter.java b/src/main/java/com/rapidminer/gui/plotter/RadVizPlotter.java
index bccdeeb8c..377c7673d 100644
--- a/src/main/java/com/rapidminer/gui/plotter/RadVizPlotter.java
+++ b/src/main/java/com/rapidminer/gui/plotter/RadVizPlotter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/RangeablePlotterAdapter.java b/src/main/java/com/rapidminer/gui/plotter/RangeablePlotterAdapter.java
index 1e09f0e75..9337470e5 100644
--- a/src/main/java/com/rapidminer/gui/plotter/RangeablePlotterAdapter.java
+++ b/src/main/java/com/rapidminer/gui/plotter/RangeablePlotterAdapter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/RectangleStyle.java b/src/main/java/com/rapidminer/gui/plotter/RectangleStyle.java
index c71d19b40..90f460e92 100644
--- a/src/main/java/com/rapidminer/gui/plotter/RectangleStyle.java
+++ b/src/main/java/com/rapidminer/gui/plotter/RectangleStyle.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/ScatterMatrixPlotter.java b/src/main/java/com/rapidminer/gui/plotter/ScatterMatrixPlotter.java
index 3757510e7..193f161d2 100644
--- a/src/main/java/com/rapidminer/gui/plotter/ScatterMatrixPlotter.java
+++ b/src/main/java/com/rapidminer/gui/plotter/ScatterMatrixPlotter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/ScatterPlotter.java b/src/main/java/com/rapidminer/gui/plotter/ScatterPlotter.java
index 56caeea92..a7e7f8cc4 100644
--- a/src/main/java/com/rapidminer/gui/plotter/ScatterPlotter.java
+++ b/src/main/java/com/rapidminer/gui/plotter/ScatterPlotter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/SimplePlotterDialog.java b/src/main/java/com/rapidminer/gui/plotter/SimplePlotterDialog.java
index 5c964043d..7a5c20097 100644
--- a/src/main/java/com/rapidminer/gui/plotter/SimplePlotterDialog.java
+++ b/src/main/java/com/rapidminer/gui/plotter/SimplePlotterDialog.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/SimplePlotterPanelDialog.java b/src/main/java/com/rapidminer/gui/plotter/SimplePlotterPanelDialog.java
index 4be20a2f3..fd95fe53d 100644
--- a/src/main/java/com/rapidminer/gui/plotter/SimplePlotterPanelDialog.java
+++ b/src/main/java/com/rapidminer/gui/plotter/SimplePlotterPanelDialog.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/SurveyPlotter.java b/src/main/java/com/rapidminer/gui/plotter/SurveyPlotter.java
index 1b79a7e60..a15677083 100644
--- a/src/main/java/com/rapidminer/gui/plotter/SurveyPlotter.java
+++ b/src/main/java/com/rapidminer/gui/plotter/SurveyPlotter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/ToolTip.java b/src/main/java/com/rapidminer/gui/plotter/ToolTip.java
index 139cb9d9f..d5f1d493c 100644
--- a/src/main/java/com/rapidminer/gui/plotter/ToolTip.java
+++ b/src/main/java/com/rapidminer/gui/plotter/ToolTip.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/WeightIndex.java b/src/main/java/com/rapidminer/gui/plotter/WeightIndex.java
index 0d5cffdfc..acb6e4ec9 100644
--- a/src/main/java/com/rapidminer/gui/plotter/WeightIndex.java
+++ b/src/main/java/com/rapidminer/gui/plotter/WeightIndex.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/charts/Abstract2DChartPlotter.java b/src/main/java/com/rapidminer/gui/plotter/charts/Abstract2DChartPlotter.java
index edadb8bf6..57af5e5c5 100644
--- a/src/main/java/com/rapidminer/gui/plotter/charts/Abstract2DChartPlotter.java
+++ b/src/main/java/com/rapidminer/gui/plotter/charts/Abstract2DChartPlotter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/charts/AbstractChartPanel.java b/src/main/java/com/rapidminer/gui/plotter/charts/AbstractChartPanel.java
index ff2a39528..099fcacbf 100644
--- a/src/main/java/com/rapidminer/gui/plotter/charts/AbstractChartPanel.java
+++ b/src/main/java/com/rapidminer/gui/plotter/charts/AbstractChartPanel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/charts/AbstractPieChartPlotter.java b/src/main/java/com/rapidminer/gui/plotter/charts/AbstractPieChartPlotter.java
index df07f5a06..7cecafc48 100644
--- a/src/main/java/com/rapidminer/gui/plotter/charts/AbstractPieChartPlotter.java
+++ b/src/main/java/com/rapidminer/gui/plotter/charts/AbstractPieChartPlotter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/charts/BarChartPlotter.java b/src/main/java/com/rapidminer/gui/plotter/charts/BarChartPlotter.java
index 401b57c09..2924d9ca6 100644
--- a/src/main/java/com/rapidminer/gui/plotter/charts/BarChartPlotter.java
+++ b/src/main/java/com/rapidminer/gui/plotter/charts/BarChartPlotter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/charts/BlockChartPlotter.java b/src/main/java/com/rapidminer/gui/plotter/charts/BlockChartPlotter.java
index 356e87f61..b2fabeb26 100644
--- a/src/main/java/com/rapidminer/gui/plotter/charts/BlockChartPlotter.java
+++ b/src/main/java/com/rapidminer/gui/plotter/charts/BlockChartPlotter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/charts/BubbleChartPlotter.java b/src/main/java/com/rapidminer/gui/plotter/charts/BubbleChartPlotter.java
index e3e6ab7ac..adf938ee1 100644
--- a/src/main/java/com/rapidminer/gui/plotter/charts/BubbleChartPlotter.java
+++ b/src/main/java/com/rapidminer/gui/plotter/charts/BubbleChartPlotter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/charts/ChartPanelShiftController.java b/src/main/java/com/rapidminer/gui/plotter/charts/ChartPanelShiftController.java
index 2abaed547..b32225659 100644
--- a/src/main/java/com/rapidminer/gui/plotter/charts/ChartPanelShiftController.java
+++ b/src/main/java/com/rapidminer/gui/plotter/charts/ChartPanelShiftController.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/charts/ColorizedBarRenderer.java b/src/main/java/com/rapidminer/gui/plotter/charts/ColorizedBarRenderer.java
index 70b91c82f..8c76c8c0b 100644
--- a/src/main/java/com/rapidminer/gui/plotter/charts/ColorizedBarRenderer.java
+++ b/src/main/java/com/rapidminer/gui/plotter/charts/ColorizedBarRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/charts/ColorizedBubbleRenderer.java b/src/main/java/com/rapidminer/gui/plotter/charts/ColorizedBubbleRenderer.java
index 55a6aeaee..4161a3205 100644
--- a/src/main/java/com/rapidminer/gui/plotter/charts/ColorizedBubbleRenderer.java
+++ b/src/main/java/com/rapidminer/gui/plotter/charts/ColorizedBubbleRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/charts/ColorizedLineAndShapeRenderer.java b/src/main/java/com/rapidminer/gui/plotter/charts/ColorizedLineAndShapeRenderer.java
index 989c170bf..501e9b0ce 100644
--- a/src/main/java/com/rapidminer/gui/plotter/charts/ColorizedLineAndShapeRenderer.java
+++ b/src/main/java/com/rapidminer/gui/plotter/charts/ColorizedLineAndShapeRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/charts/ColorizedShapeItemRenderer.java b/src/main/java/com/rapidminer/gui/plotter/charts/ColorizedShapeItemRenderer.java
index 801cebe19..09b6e2787 100644
--- a/src/main/java/com/rapidminer/gui/plotter/charts/ColorizedShapeItemRenderer.java
+++ b/src/main/java/com/rapidminer/gui/plotter/charts/ColorizedShapeItemRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/charts/DeviationChartPlotter.java b/src/main/java/com/rapidminer/gui/plotter/charts/DeviationChartPlotter.java
index 41d0b1819..afe75ac41 100644
--- a/src/main/java/com/rapidminer/gui/plotter/charts/DeviationChartPlotter.java
+++ b/src/main/java/com/rapidminer/gui/plotter/charts/DeviationChartPlotter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/charts/DistributionPlotter.java b/src/main/java/com/rapidminer/gui/plotter/charts/DistributionPlotter.java
index 2bf3e04c4..14f3c7bdd 100644
--- a/src/main/java/com/rapidminer/gui/plotter/charts/DistributionPlotter.java
+++ b/src/main/java/com/rapidminer/gui/plotter/charts/DistributionPlotter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/charts/HistogramChart.java b/src/main/java/com/rapidminer/gui/plotter/charts/HistogramChart.java
index 43e542749..8cefdd798 100644
--- a/src/main/java/com/rapidminer/gui/plotter/charts/HistogramChart.java
+++ b/src/main/java/com/rapidminer/gui/plotter/charts/HistogramChart.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/charts/HistogramColorChart.java b/src/main/java/com/rapidminer/gui/plotter/charts/HistogramColorChart.java
index f001dc828..d3b2e2043 100644
--- a/src/main/java/com/rapidminer/gui/plotter/charts/HistogramColorChart.java
+++ b/src/main/java/com/rapidminer/gui/plotter/charts/HistogramColorChart.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/charts/MultipleScatterPlotter.java b/src/main/java/com/rapidminer/gui/plotter/charts/MultipleScatterPlotter.java
index f76ee9672..928fa57f6 100644
--- a/src/main/java/com/rapidminer/gui/plotter/charts/MultipleScatterPlotter.java
+++ b/src/main/java/com/rapidminer/gui/plotter/charts/MultipleScatterPlotter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/charts/MultipleSeriesChartPlotter.java b/src/main/java/com/rapidminer/gui/plotter/charts/MultipleSeriesChartPlotter.java
index dc83acf88..65dc76a9e 100644
--- a/src/main/java/com/rapidminer/gui/plotter/charts/MultipleSeriesChartPlotter.java
+++ b/src/main/java/com/rapidminer/gui/plotter/charts/MultipleSeriesChartPlotter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/charts/ParallelPlotter2.java b/src/main/java/com/rapidminer/gui/plotter/charts/ParallelPlotter2.java
index 61e3b736d..136b939b3 100644
--- a/src/main/java/com/rapidminer/gui/plotter/charts/ParallelPlotter2.java
+++ b/src/main/java/com/rapidminer/gui/plotter/charts/ParallelPlotter2.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/charts/ParetoChartItemLabelGenerator.java b/src/main/java/com/rapidminer/gui/plotter/charts/ParetoChartItemLabelGenerator.java
index 92d33423d..b7ae906d5 100644
--- a/src/main/java/com/rapidminer/gui/plotter/charts/ParetoChartItemLabelGenerator.java
+++ b/src/main/java/com/rapidminer/gui/plotter/charts/ParetoChartItemLabelGenerator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/charts/ParetoChartPlotter.java b/src/main/java/com/rapidminer/gui/plotter/charts/ParetoChartPlotter.java
index f33d06c11..71595b410 100644
--- a/src/main/java/com/rapidminer/gui/plotter/charts/ParetoChartPlotter.java
+++ b/src/main/java/com/rapidminer/gui/plotter/charts/ParetoChartPlotter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/charts/PieChart2DPlotter.java b/src/main/java/com/rapidminer/gui/plotter/charts/PieChart2DPlotter.java
index 1040a886d..9536e4564 100644
--- a/src/main/java/com/rapidminer/gui/plotter/charts/PieChart2DPlotter.java
+++ b/src/main/java/com/rapidminer/gui/plotter/charts/PieChart2DPlotter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/charts/PieChart3DPlotter.java b/src/main/java/com/rapidminer/gui/plotter/charts/PieChart3DPlotter.java
index 256b53e8d..91ca6d0dd 100644
--- a/src/main/java/com/rapidminer/gui/plotter/charts/PieChart3DPlotter.java
+++ b/src/main/java/com/rapidminer/gui/plotter/charts/PieChart3DPlotter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/charts/PointsAndLinesDialog.java b/src/main/java/com/rapidminer/gui/plotter/charts/PointsAndLinesDialog.java
index 6c1ef2cca..3722126c9 100644
--- a/src/main/java/com/rapidminer/gui/plotter/charts/PointsAndLinesDialog.java
+++ b/src/main/java/com/rapidminer/gui/plotter/charts/PointsAndLinesDialog.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/charts/RapidBarPainter.java b/src/main/java/com/rapidminer/gui/plotter/charts/RapidBarPainter.java
index ac7583e06..60d1a4676 100644
--- a/src/main/java/com/rapidminer/gui/plotter/charts/RapidBarPainter.java
+++ b/src/main/java/com/rapidminer/gui/plotter/charts/RapidBarPainter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/charts/RapidHistogramDataset.java b/src/main/java/com/rapidminer/gui/plotter/charts/RapidHistogramDataset.java
index 0fd6bfcbb..7d7443c3e 100644
--- a/src/main/java/com/rapidminer/gui/plotter/charts/RapidHistogramDataset.java
+++ b/src/main/java/com/rapidminer/gui/plotter/charts/RapidHistogramDataset.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/charts/RapidXYBarPainter.java b/src/main/java/com/rapidminer/gui/plotter/charts/RapidXYBarPainter.java
index ae2ecbbca..3b654f0b5 100644
--- a/src/main/java/com/rapidminer/gui/plotter/charts/RapidXYBarPainter.java
+++ b/src/main/java/com/rapidminer/gui/plotter/charts/RapidXYBarPainter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/charts/RingChartPlotter.java b/src/main/java/com/rapidminer/gui/plotter/charts/RingChartPlotter.java
index 2d05c0e92..80e145f39 100644
--- a/src/main/java/com/rapidminer/gui/plotter/charts/RingChartPlotter.java
+++ b/src/main/java/com/rapidminer/gui/plotter/charts/RingChartPlotter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/charts/ScatterPlotter2.java b/src/main/java/com/rapidminer/gui/plotter/charts/ScatterPlotter2.java
index e80cd4fe1..4fc87000a 100644
--- a/src/main/java/com/rapidminer/gui/plotter/charts/ScatterPlotter2.java
+++ b/src/main/java/com/rapidminer/gui/plotter/charts/ScatterPlotter2.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/charts/SelectablePlotter.java b/src/main/java/com/rapidminer/gui/plotter/charts/SelectablePlotter.java
index a40fed15a..1f45bba25 100644
--- a/src/main/java/com/rapidminer/gui/plotter/charts/SelectablePlotter.java
+++ b/src/main/java/com/rapidminer/gui/plotter/charts/SelectablePlotter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/charts/SeriesChartPlotter.java b/src/main/java/com/rapidminer/gui/plotter/charts/SeriesChartPlotter.java
index 70d4ad8bd..f8c7c8bc3 100644
--- a/src/main/java/com/rapidminer/gui/plotter/charts/SeriesChartPlotter.java
+++ b/src/main/java/com/rapidminer/gui/plotter/charts/SeriesChartPlotter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/charts/StackedBarChartPlotter.java b/src/main/java/com/rapidminer/gui/plotter/charts/StackedBarChartPlotter.java
index f26ffc2ad..21a75fe20 100644
--- a/src/main/java/com/rapidminer/gui/plotter/charts/StackedBarChartPlotter.java
+++ b/src/main/java/com/rapidminer/gui/plotter/charts/StackedBarChartPlotter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/charts/WebPlotter.java b/src/main/java/com/rapidminer/gui/plotter/charts/WebPlotter.java
index e14efdf31..7efc7ebb7 100644
--- a/src/main/java/com/rapidminer/gui/plotter/charts/WebPlotter.java
+++ b/src/main/java/com/rapidminer/gui/plotter/charts/WebPlotter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/charts/WeightBasedSymbolAxis.java b/src/main/java/com/rapidminer/gui/plotter/charts/WeightBasedSymbolAxis.java
index 47826c565..f1358ac27 100644
--- a/src/main/java/com/rapidminer/gui/plotter/charts/WeightBasedSymbolAxis.java
+++ b/src/main/java/com/rapidminer/gui/plotter/charts/WeightBasedSymbolAxis.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/conditions/BasicPlotterCondition.java b/src/main/java/com/rapidminer/gui/plotter/conditions/BasicPlotterCondition.java
index 5dd12b1f7..ad1fe5226 100644
--- a/src/main/java/com/rapidminer/gui/plotter/conditions/BasicPlotterCondition.java
+++ b/src/main/java/com/rapidminer/gui/plotter/conditions/BasicPlotterCondition.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/conditions/ColumnsPlotterCondition.java b/src/main/java/com/rapidminer/gui/plotter/conditions/ColumnsPlotterCondition.java
index 78feb1dcb..8d4709bea 100644
--- a/src/main/java/com/rapidminer/gui/plotter/conditions/ColumnsPlotterCondition.java
+++ b/src/main/java/com/rapidminer/gui/plotter/conditions/ColumnsPlotterCondition.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/conditions/CombinedPlotterCondition.java b/src/main/java/com/rapidminer/gui/plotter/conditions/CombinedPlotterCondition.java
index d721bc7d1..ba61dad25 100644
--- a/src/main/java/com/rapidminer/gui/plotter/conditions/CombinedPlotterCondition.java
+++ b/src/main/java/com/rapidminer/gui/plotter/conditions/CombinedPlotterCondition.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/conditions/PlotterCondition.java b/src/main/java/com/rapidminer/gui/plotter/conditions/PlotterCondition.java
index e970a69b9..190d9e32a 100644
--- a/src/main/java/com/rapidminer/gui/plotter/conditions/PlotterCondition.java
+++ b/src/main/java/com/rapidminer/gui/plotter/conditions/PlotterCondition.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/conditions/RowsPlotterCondition.java b/src/main/java/com/rapidminer/gui/plotter/conditions/RowsPlotterCondition.java
index 116c379a5..e4637f892 100644
--- a/src/main/java/com/rapidminer/gui/plotter/conditions/RowsPlotterCondition.java
+++ b/src/main/java/com/rapidminer/gui/plotter/conditions/RowsPlotterCondition.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/mathplot/BoxPlot2D.java b/src/main/java/com/rapidminer/gui/plotter/mathplot/BoxPlot2D.java
index 9659442dd..e26f520ac 100644
--- a/src/main/java/com/rapidminer/gui/plotter/mathplot/BoxPlot2D.java
+++ b/src/main/java/com/rapidminer/gui/plotter/mathplot/BoxPlot2D.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/mathplot/BoxPlot3D.java b/src/main/java/com/rapidminer/gui/plotter/mathplot/BoxPlot3D.java
index 7ea3a25ad..15e66e03f 100644
--- a/src/main/java/com/rapidminer/gui/plotter/mathplot/BoxPlot3D.java
+++ b/src/main/java/com/rapidminer/gui/plotter/mathplot/BoxPlot3D.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/mathplot/JMathPlotter.java b/src/main/java/com/rapidminer/gui/plotter/mathplot/JMathPlotter.java
index aaecff2c4..0e0bef875 100644
--- a/src/main/java/com/rapidminer/gui/plotter/mathplot/JMathPlotter.java
+++ b/src/main/java/com/rapidminer/gui/plotter/mathplot/JMathPlotter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/mathplot/JMathPlotter2D.java b/src/main/java/com/rapidminer/gui/plotter/mathplot/JMathPlotter2D.java
index a691da2a6..4e7274828 100644
--- a/src/main/java/com/rapidminer/gui/plotter/mathplot/JMathPlotter2D.java
+++ b/src/main/java/com/rapidminer/gui/plotter/mathplot/JMathPlotter2D.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/mathplot/JMathPlotter3D.java b/src/main/java/com/rapidminer/gui/plotter/mathplot/JMathPlotter3D.java
index 0933d60c5..85185f72e 100644
--- a/src/main/java/com/rapidminer/gui/plotter/mathplot/JMathPlotter3D.java
+++ b/src/main/java/com/rapidminer/gui/plotter/mathplot/JMathPlotter3D.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/mathplot/ScatterPlot3D.java b/src/main/java/com/rapidminer/gui/plotter/mathplot/ScatterPlot3D.java
index c919b504b..212d7df95 100644
--- a/src/main/java/com/rapidminer/gui/plotter/mathplot/ScatterPlot3D.java
+++ b/src/main/java/com/rapidminer/gui/plotter/mathplot/ScatterPlot3D.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/mathplot/ScatterPlot3DColor.java b/src/main/java/com/rapidminer/gui/plotter/mathplot/ScatterPlot3DColor.java
index 1c818e5ba..4e4d7522a 100644
--- a/src/main/java/com/rapidminer/gui/plotter/mathplot/ScatterPlot3DColor.java
+++ b/src/main/java/com/rapidminer/gui/plotter/mathplot/ScatterPlot3DColor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/mathplot/SticksPlot2D.java b/src/main/java/com/rapidminer/gui/plotter/mathplot/SticksPlot2D.java
index 735af0213..133d1478a 100644
--- a/src/main/java/com/rapidminer/gui/plotter/mathplot/SticksPlot2D.java
+++ b/src/main/java/com/rapidminer/gui/plotter/mathplot/SticksPlot2D.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/mathplot/SticksPlot3D.java b/src/main/java/com/rapidminer/gui/plotter/mathplot/SticksPlot3D.java
index 101d3fd6f..64ed77dd8 100644
--- a/src/main/java/com/rapidminer/gui/plotter/mathplot/SticksPlot3D.java
+++ b/src/main/java/com/rapidminer/gui/plotter/mathplot/SticksPlot3D.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/mathplot/SurfacePlot3D.java b/src/main/java/com/rapidminer/gui/plotter/mathplot/SurfacePlot3D.java
index f00f11552..a63f13c42 100644
--- a/src/main/java/com/rapidminer/gui/plotter/mathplot/SurfacePlot3D.java
+++ b/src/main/java/com/rapidminer/gui/plotter/mathplot/SurfacePlot3D.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/settings/ListeningJCheckBox.java b/src/main/java/com/rapidminer/gui/plotter/settings/ListeningJCheckBox.java
index 130e0d1f7..6182e5438 100644
--- a/src/main/java/com/rapidminer/gui/plotter/settings/ListeningJCheckBox.java
+++ b/src/main/java/com/rapidminer/gui/plotter/settings/ListeningJCheckBox.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/settings/ListeningJComboBox.java b/src/main/java/com/rapidminer/gui/plotter/settings/ListeningJComboBox.java
index 85f305e4a..f81aeac0f 100644
--- a/src/main/java/com/rapidminer/gui/plotter/settings/ListeningJComboBox.java
+++ b/src/main/java/com/rapidminer/gui/plotter/settings/ListeningJComboBox.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/settings/ListeningJSlider.java b/src/main/java/com/rapidminer/gui/plotter/settings/ListeningJSlider.java
index f319e3eaa..0b702abc0 100644
--- a/src/main/java/com/rapidminer/gui/plotter/settings/ListeningJSlider.java
+++ b/src/main/java/com/rapidminer/gui/plotter/settings/ListeningJSlider.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/settings/ListeningListSelectionModel.java b/src/main/java/com/rapidminer/gui/plotter/settings/ListeningListSelectionModel.java
index 39aa5ae08..dff61ba41 100644
--- a/src/main/java/com/rapidminer/gui/plotter/settings/ListeningListSelectionModel.java
+++ b/src/main/java/com/rapidminer/gui/plotter/settings/ListeningListSelectionModel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/settings/PlotterSettingsHistory.java b/src/main/java/com/rapidminer/gui/plotter/settings/PlotterSettingsHistory.java
index 258184286..2e3bc1f8c 100644
--- a/src/main/java/com/rapidminer/gui/plotter/settings/PlotterSettingsHistory.java
+++ b/src/main/java/com/rapidminer/gui/plotter/settings/PlotterSettingsHistory.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/som/SOMClassColorizer.java b/src/main/java/com/rapidminer/gui/plotter/som/SOMClassColorizer.java
index c53ec9412..1e2f25101 100644
--- a/src/main/java/com/rapidminer/gui/plotter/som/SOMClassColorizer.java
+++ b/src/main/java/com/rapidminer/gui/plotter/som/SOMClassColorizer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/som/SOMFireColorizer.java b/src/main/java/com/rapidminer/gui/plotter/som/SOMFireColorizer.java
index a043d503b..0ae4f3a37 100644
--- a/src/main/java/com/rapidminer/gui/plotter/som/SOMFireColorizer.java
+++ b/src/main/java/com/rapidminer/gui/plotter/som/SOMFireColorizer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/som/SOMGreyColorizer.java b/src/main/java/com/rapidminer/gui/plotter/som/SOMGreyColorizer.java
index 7a5b96f90..b3756821f 100644
--- a/src/main/java/com/rapidminer/gui/plotter/som/SOMGreyColorizer.java
+++ b/src/main/java/com/rapidminer/gui/plotter/som/SOMGreyColorizer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/som/SOMLandscapeColorizer.java b/src/main/java/com/rapidminer/gui/plotter/som/SOMLandscapeColorizer.java
index 86838e7f9..c4354d142 100644
--- a/src/main/java/com/rapidminer/gui/plotter/som/SOMLandscapeColorizer.java
+++ b/src/main/java/com/rapidminer/gui/plotter/som/SOMLandscapeColorizer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/som/SOMMatrixColorizer.java b/src/main/java/com/rapidminer/gui/plotter/som/SOMMatrixColorizer.java
index 462d9054a..6150a7d68 100644
--- a/src/main/java/com/rapidminer/gui/plotter/som/SOMMatrixColorizer.java
+++ b/src/main/java/com/rapidminer/gui/plotter/som/SOMMatrixColorizer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/plotter/som/SOMPlotter.java b/src/main/java/com/rapidminer/gui/plotter/som/SOMPlotter.java
index 8c270a707..2f0b73d5a 100644
--- a/src/main/java/com/rapidminer/gui/plotter/som/SOMPlotter.java
+++ b/src/main/java/com/rapidminer/gui/plotter/som/SOMPlotter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/processeditor/ExtendedProcessEditor.java b/src/main/java/com/rapidminer/gui/processeditor/ExtendedProcessEditor.java
index 444d438e0..c72a7a976 100644
--- a/src/main/java/com/rapidminer/gui/processeditor/ExtendedProcessEditor.java
+++ b/src/main/java/com/rapidminer/gui/processeditor/ExtendedProcessEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/processeditor/MacroEditor.java b/src/main/java/com/rapidminer/gui/processeditor/MacroEditor.java
index 4b7691a86..6bbb4f796 100644
--- a/src/main/java/com/rapidminer/gui/processeditor/MacroEditor.java
+++ b/src/main/java/com/rapidminer/gui/processeditor/MacroEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/processeditor/MacroViewer.java b/src/main/java/com/rapidminer/gui/processeditor/MacroViewer.java
index 66238232c..3f1d38cf9 100644
--- a/src/main/java/com/rapidminer/gui/processeditor/MacroViewer.java
+++ b/src/main/java/com/rapidminer/gui/processeditor/MacroViewer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/processeditor/NewOperatorEditor.java b/src/main/java/com/rapidminer/gui/processeditor/NewOperatorEditor.java
index f0bae5981..90a314493 100644
--- a/src/main/java/com/rapidminer/gui/processeditor/NewOperatorEditor.java
+++ b/src/main/java/com/rapidminer/gui/processeditor/NewOperatorEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/processeditor/NewOperatorGroupTree.java b/src/main/java/com/rapidminer/gui/processeditor/NewOperatorGroupTree.java
index 4eea083c0..27898b719 100644
--- a/src/main/java/com/rapidminer/gui/processeditor/NewOperatorGroupTree.java
+++ b/src/main/java/com/rapidminer/gui/processeditor/NewOperatorGroupTree.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/processeditor/NewOperatorGroupTreeModel.java b/src/main/java/com/rapidminer/gui/processeditor/NewOperatorGroupTreeModel.java
index 9795bcff3..ca3e1adae 100644
--- a/src/main/java/com/rapidminer/gui/processeditor/NewOperatorGroupTreeModel.java
+++ b/src/main/java/com/rapidminer/gui/processeditor/NewOperatorGroupTreeModel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/processeditor/NewOperatorGroupTreeRenderer.java b/src/main/java/com/rapidminer/gui/processeditor/NewOperatorGroupTreeRenderer.java
index ff9f476eb..4e5576ab6 100644
--- a/src/main/java/com/rapidminer/gui/processeditor/NewOperatorGroupTreeRenderer.java
+++ b/src/main/java/com/rapidminer/gui/processeditor/NewOperatorGroupTreeRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/processeditor/ProcessContextEditor.java b/src/main/java/com/rapidminer/gui/processeditor/ProcessContextEditor.java
index 88d18c0ee..50228a5f3 100644
--- a/src/main/java/com/rapidminer/gui/processeditor/ProcessContextEditor.java
+++ b/src/main/java/com/rapidminer/gui/processeditor/ProcessContextEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/processeditor/ProcessContextProcessEditor.java b/src/main/java/com/rapidminer/gui/processeditor/ProcessContextProcessEditor.java
index 1105597e6..2b9faa70b 100644
--- a/src/main/java/com/rapidminer/gui/processeditor/ProcessContextProcessEditor.java
+++ b/src/main/java/com/rapidminer/gui/processeditor/ProcessContextProcessEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/processeditor/ProcessEditor.java b/src/main/java/com/rapidminer/gui/processeditor/ProcessEditor.java
index 830756a7d..38cd758c2 100644
--- a/src/main/java/com/rapidminer/gui/processeditor/ProcessEditor.java
+++ b/src/main/java/com/rapidminer/gui/processeditor/ProcessEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/processeditor/ProcessLogTab.java b/src/main/java/com/rapidminer/gui/processeditor/ProcessLogTab.java
index 77d9cf55a..7be196fae 100644
--- a/src/main/java/com/rapidminer/gui/processeditor/ProcessLogTab.java
+++ b/src/main/java/com/rapidminer/gui/processeditor/ProcessLogTab.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/processeditor/RepositoryLocationsEditor.java b/src/main/java/com/rapidminer/gui/processeditor/RepositoryLocationsEditor.java
index f0a798511..37a159fd0 100644
--- a/src/main/java/com/rapidminer/gui/processeditor/RepositoryLocationsEditor.java
+++ b/src/main/java/com/rapidminer/gui/processeditor/RepositoryLocationsEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/processeditor/XMLEditor.java b/src/main/java/com/rapidminer/gui/processeditor/XMLEditor.java
index 1681f58af..981fee16e 100644
--- a/src/main/java/com/rapidminer/gui/processeditor/XMLEditor.java
+++ b/src/main/java/com/rapidminer/gui/processeditor/XMLEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -128,10 +128,11 @@ public void setSelection(List selection) {
Operator currentOperator = selection.get(0);
String name = currentOperator.getName();
String text = this.editor.getText();
- int result = text.indexOf("\"" + name + "\"");
- if (result >= 0) {
- this.editor.select(result + 1, result + name.length() + 1);
- this.editor.setCaretPosition(result + name.length() + 1);
+ int start = text.indexOf("\"" + name + "\"");
+ int end = start + name.length() + 1;
+ if (start >= 0 && editor.getDocument().getLength() > end) {
+ this.editor.select(start + 1, end);
+ this.editor.setCaretPosition(end);
}
}
}
diff --git a/src/main/java/com/rapidminer/gui/processeditor/results/DockableResultDisplay.java b/src/main/java/com/rapidminer/gui/processeditor/results/DockableResultDisplay.java
index 448d7bec9..9a844b810 100644
--- a/src/main/java/com/rapidminer/gui/processeditor/results/DockableResultDisplay.java
+++ b/src/main/java/com/rapidminer/gui/processeditor/results/DockableResultDisplay.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/processeditor/results/ProcessExecutionResultOverview.java b/src/main/java/com/rapidminer/gui/processeditor/results/ProcessExecutionResultOverview.java
index 8f57475bb..34b304c0c 100644
--- a/src/main/java/com/rapidminer/gui/processeditor/results/ProcessExecutionResultOverview.java
+++ b/src/main/java/com/rapidminer/gui/processeditor/results/ProcessExecutionResultOverview.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/processeditor/results/RapidBorder.java b/src/main/java/com/rapidminer/gui/processeditor/results/RapidBorder.java
index fa51d412b..f75662e4e 100644
--- a/src/main/java/com/rapidminer/gui/processeditor/results/RapidBorder.java
+++ b/src/main/java/com/rapidminer/gui/processeditor/results/RapidBorder.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/processeditor/results/ResultDisplay.java b/src/main/java/com/rapidminer/gui/processeditor/results/ResultDisplay.java
index e6f6aba22..1ab7f4f45 100644
--- a/src/main/java/com/rapidminer/gui/processeditor/results/ResultDisplay.java
+++ b/src/main/java/com/rapidminer/gui/processeditor/results/ResultDisplay.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/processeditor/results/ResultDisplayTools.java b/src/main/java/com/rapidminer/gui/processeditor/results/ResultDisplayTools.java
index 0f28eb49c..62f99be2a 100644
--- a/src/main/java/com/rapidminer/gui/processeditor/results/ResultDisplayTools.java
+++ b/src/main/java/com/rapidminer/gui/processeditor/results/ResultDisplayTools.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/processeditor/results/ResultLimitPanel.java b/src/main/java/com/rapidminer/gui/processeditor/results/ResultLimitPanel.java
index 3ed6649a0..693e0ed25 100644
--- a/src/main/java/com/rapidminer/gui/processeditor/results/ResultLimitPanel.java
+++ b/src/main/java/com/rapidminer/gui/processeditor/results/ResultLimitPanel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/processeditor/results/ResultOverview.java b/src/main/java/com/rapidminer/gui/processeditor/results/ResultOverview.java
index 397faa231..5796388b3 100644
--- a/src/main/java/com/rapidminer/gui/processeditor/results/ResultOverview.java
+++ b/src/main/java/com/rapidminer/gui/processeditor/results/ResultOverview.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/processeditor/results/ResultTab.java b/src/main/java/com/rapidminer/gui/processeditor/results/ResultTab.java
index 9189fd11b..13e161ad7 100644
--- a/src/main/java/com/rapidminer/gui/processeditor/results/ResultTab.java
+++ b/src/main/java/com/rapidminer/gui/processeditor/results/ResultTab.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/processeditor/results/SingleResultOverview.java b/src/main/java/com/rapidminer/gui/processeditor/results/SingleResultOverview.java
index 481516c3e..34139744b 100644
--- a/src/main/java/com/rapidminer/gui/processeditor/results/SingleResultOverview.java
+++ b/src/main/java/com/rapidminer/gui/processeditor/results/SingleResultOverview.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/processeditor/search/OperatorGlobalSearch.java b/src/main/java/com/rapidminer/gui/processeditor/search/OperatorGlobalSearch.java
new file mode 100644
index 000000000..6ec6e2fb0
--- /dev/null
+++ b/src/main/java/com/rapidminer/gui/processeditor/search/OperatorGlobalSearch.java
@@ -0,0 +1,53 @@
+/**
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
+ *
+ * Complete list of developers available at our web site:
+ *
+ * http://rapidminer.com
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General
+ * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any
+ * later version.
+ *
+ * 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/.
+ */
+package com.rapidminer.gui.processeditor.search;
+
+import com.rapidminer.search.GlobalSearchIndexer;
+import com.rapidminer.search.GlobalSearchManager;
+import com.rapidminer.search.GlobalSearchRegistry;
+import com.rapidminer.search.GlobalSearchable;
+
+
+/**
+ * Responsible for implementing Global Search capabilities to operators. See {@link GlobalSearchRegistry}
+ * for more information.
+ *
+ * @author Marco Boeck
+ * @since 8.1
+ */
+public class OperatorGlobalSearch implements GlobalSearchable {
+
+ public static final String CATEGORY_ID = "operator";
+
+ private final OperatorGlobalSearchManager manager;
+
+
+ public OperatorGlobalSearch() {
+ manager = new OperatorGlobalSearchManager();
+
+ if (GlobalSearchIndexer.INSTANCE.isInitialized()) {
+ GlobalSearchRegistry.INSTANCE.registerSearchCategory(this);
+ }
+ }
+
+ @Override
+ public GlobalSearchManager getSearchManager() {
+ return manager;
+ }
+}
diff --git a/src/main/java/com/rapidminer/gui/processeditor/search/OperatorGlobalSearchGUIProvider.java b/src/main/java/com/rapidminer/gui/processeditor/search/OperatorGlobalSearchGUIProvider.java
new file mode 100644
index 000000000..383b9748f
--- /dev/null
+++ b/src/main/java/com/rapidminer/gui/processeditor/search/OperatorGlobalSearchGUIProvider.java
@@ -0,0 +1,248 @@
+/**
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
+ *
+ * Complete list of developers available at our web site:
+ *
+ * http://rapidminer.com
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General
+ * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any
+ * later version.
+ *
+ * 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/.
+ */
+package com.rapidminer.gui.processeditor.search;
+
+import java.awt.BorderLayout;
+import java.awt.Color;
+import java.awt.Cursor;
+import java.awt.Font;
+import java.awt.dnd.DnDConstants;
+import java.awt.dnd.DragGestureEvent;
+import java.awt.dnd.DragGestureListener;
+import java.awt.dnd.DragSource;
+import java.awt.event.InputEvent;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+import java.util.Collections;
+import java.util.logging.Level;
+import javax.swing.BorderFactory;
+import javax.swing.JComponent;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.border.Border;
+
+import org.apache.lucene.document.Document;
+
+import com.rapidminer.gui.MainFrame;
+import com.rapidminer.gui.PerspectiveModel;
+import com.rapidminer.gui.RapidMinerGUI;
+import com.rapidminer.gui.dnd.TransferableOperator;
+import com.rapidminer.gui.flow.processrendering.model.ProcessRendererModel;
+import com.rapidminer.gui.search.GlobalSearchGUIUtilities;
+import com.rapidminer.gui.search.GlobalSearchableGUIProvider;
+import com.rapidminer.operator.Operator;
+import com.rapidminer.operator.OperatorCreationException;
+import com.rapidminer.operator.OperatorDescription;
+import com.rapidminer.search.GlobalSearchUtilities;
+import com.rapidminer.tools.I18N;
+import com.rapidminer.tools.LogService;
+import com.rapidminer.tools.OperatorService;
+import com.rapidminer.tools.documentation.GroupDocumentation;
+
+
+/**
+ * Provides UI elements to display operators in the Global Search results for the {@link OperatorGlobalSearch}.
+ *
+ * @author Marco Boeck
+ * @since 8.1
+ */
+public class OperatorGlobalSearchGUIProvider implements GlobalSearchableGUIProvider {
+
+ /**
+ * Drag & Drop support for operators.
+ */
+ private static final class OperatorDragGesture implements DragGestureListener {
+
+ private final Operator operator;
+
+ private OperatorDragGesture(Operator operator) {
+ this.operator = operator;
+ }
+
+
+ @Override
+ public void dragGestureRecognized(DragGestureEvent event) {
+ // only allow dragging with left mouse button
+ if (event.getTriggerEvent().getModifiers() != InputEvent.BUTTON1_MASK) {
+ return;
+ }
+
+ // change cursor to drag move
+ Cursor cursor = null;
+ if (event.getDragAction() == DnDConstants.ACTION_COPY) {
+ cursor = DragSource.DefaultCopyDrop;
+ }
+
+ // set the recommended operator as the Transferable
+ event.startDrag(cursor, new TransferableOperator(new Operator[]{operator}));
+ }
+ }
+
+ private static final Border ICON_EMPTY_BORDER = BorderFactory.createEmptyBorder(0, 5, 0, 15);
+
+ private static final Color LOCATION_COLOR = new Color(128, 128, 128);
+
+ private static final float FONT_SIZE_LOCATION = 9f;
+ private static final float FONT_SIZE_NAME = 14f;
+
+
+ @Override
+ public JComponent getGUIListComponentForDocument(final Document document, final String[] bestFragments) {
+ JPanel mainListPanel = new JPanel();
+ mainListPanel.setLayout(new BorderLayout());
+ mainListPanel.setOpaque(false);
+ JPanel descriptionPanel = new JPanel();
+ descriptionPanel.setOpaque(false);
+ descriptionPanel.setLayout(new BorderLayout());
+
+ JLabel nameListLabel = new JLabel();
+ nameListLabel.setFont(nameListLabel.getFont().deriveFont(Font.BOLD).deriveFont(FONT_SIZE_NAME));
+ JLabel locationListLabel = new JLabel();
+ locationListLabel.setFont(locationListLabel.getFont().deriveFont(FONT_SIZE_LOCATION));
+ JLabel iconListLabel = new JLabel();
+ iconListLabel.setBorder(ICON_EMPTY_BORDER);
+
+ descriptionPanel.add(nameListLabel, BorderLayout.CENTER);
+ descriptionPanel.add(locationListLabel, BorderLayout.SOUTH);
+
+ mainListPanel.add(iconListLabel, BorderLayout.WEST);
+ mainListPanel.add(descriptionPanel, BorderLayout.CENTER);
+
+ OperatorDescription opDesc = OperatorService.getOperatorDescription(document.get(GlobalSearchUtilities.FIELD_UNIQUE_ID));
+ String name = opDesc.getName();
+ mainListPanel.setToolTipText(name);
+ name = GlobalSearchGUIUtilities.INSTANCE.createHTMLHighlightFromString(name, bestFragments);
+
+ // add the "drag here" label to the process panel
+ mainListPanel.addMouseListener(new MouseAdapter() {
+
+ @Override
+ public void mouseEntered(MouseEvent e) {
+ handleHoverOverOperator(true);
+ }
+
+ @Override
+ public void mouseExited(MouseEvent e) {
+ handleHoverOverOperator(false);
+ }
+
+ /**
+ * Handle the hover-over-operator events.
+ *
+ * @param hovered
+ * {@code true} if hovering over an operator; {@code false} otherwise
+ */
+ private void handleHoverOverOperator(final boolean hovered) {
+ ProcessRendererModel modelRenderer = RapidMinerGUI.getMainFrame().getProcessPanel().getProcessRenderer()
+ .getModel();
+
+ modelRenderer.setOperatorSourceHovered(hovered);
+ modelRenderer.fireMiscChanged();
+ }
+ });
+
+ nameListLabel.setText(name);
+ iconListLabel.setIcon(opDesc.getSmallIcon());
+ locationListLabel.setText(createFullGroupName(opDesc.getGroup()));
+ locationListLabel.setForeground(LOCATION_COLOR);
+ return mainListPanel;
+ }
+
+ @Override
+ public String getI18nNameForSearchable() {
+ return I18N.getMessage(I18N.getGUIBundle(), "gui.component.global_search.operators.category.title");
+ }
+
+ @Override
+ public void searchResultTriggered(final Document document, final Veto veto) {
+ // try to insert operator into process
+ String operatorKey = document.get(GlobalSearchUtilities.FIELD_UNIQUE_ID);
+ if (operatorKey == null) {
+ LogService.getRoot().log(Level.WARNING, "com.rapidminer.gui.processeditor.global_search.OperatorSearchManager.error.no_key");
+ return;
+ }
+
+ try {
+ Operator operator = OperatorService.getOperatorDescription(operatorKey).createOperatorInstance();
+ MainFrame mainFrame = RapidMinerGUI.getMainFrame();
+ mainFrame.getActions().insert(Collections.singletonList(operator));
+ mainFrame.getPerspectiveController().showPerspective(PerspectiveModel.DESIGN);
+ } catch (OperatorCreationException e) {
+ LogService.getRoot().log(Level.WARNING, "com.rapidminer.gui.processeditor.global_search.OperatorSearchManager.error.operator_creation_error", e.getMessage());
+ }
+ }
+
+ @Override
+ public void searchResultBrowsed(final Document document) {
+ String operatorKey = document.get(GlobalSearchUtilities.FIELD_UNIQUE_ID);
+ if (operatorKey == null) {
+ LogService.getRoot().log(Level.WARNING, "com.rapidminer.gui.processeditor.global_search.OperatorSearchManager.error.no_key");
+ return;
+ }
+
+ try {
+ Operator operator = OperatorService.getOperatorDescription(operatorKey).createOperatorInstance();
+ RapidMinerGUI.getMainFrame().getOperatorDocViewer().setDisplayedOperator(operator);
+ } catch (OperatorCreationException e) {
+ LogService.getRoot().log(Level.WARNING, "com.rapidminer.gui.processeditor.global_search.OperatorSearchManager.error.operator_browse_error", e.getMessage());
+ }
+ }
+
+ @Override
+ public boolean isDragAndDropSupported(final Document document) {
+ return true;
+ }
+
+ @Override
+ public DragGestureListener getDragAndDropSupport(final Document document) {
+ String operatorKey = document.get(GlobalSearchUtilities.FIELD_UNIQUE_ID);
+ if (operatorKey == null) {
+ LogService.getRoot().log(Level.WARNING, "com.rapidminer.gui.processeditor.global_search.OperatorSearchManager.error.no_key");
+ return null;
+ }
+
+ try {
+ return new OperatorDragGesture(OperatorService.getOperatorDescription(operatorKey).createOperatorInstance());
+ } catch (OperatorCreationException e) {
+ return null;
+ }
+ }
+
+ /**
+ * Creates the full group path for an operator in human-readable form.
+ *
+ * @param groupKey
+ * the full group path in the format goupname.groupothername.finalgroup
+ * @return the human-readable key, never {@code null}
+ */
+ private static String createFullGroupName(final String groupKey) {
+ String[] groups = groupKey.split("\\.");
+ StringBuilder sb = new StringBuilder();
+ for (String group : groups) {
+ sb.append(GroupDocumentation.keyToUpperCase(group));
+ sb.append('/');
+ }
+ if (sb.length() > 0) {
+ sb.deleteCharAt(sb.length() - 1);
+ } else {
+ sb.append(GroupDocumentation.keyToUpperCase(groupKey));
+ }
+ return sb.toString();
+ }
+}
diff --git a/src/main/java/com/rapidminer/gui/processeditor/search/OperatorGlobalSearchManager.java b/src/main/java/com/rapidminer/gui/processeditor/search/OperatorGlobalSearchManager.java
new file mode 100644
index 000000000..c79f24299
--- /dev/null
+++ b/src/main/java/com/rapidminer/gui/processeditor/search/OperatorGlobalSearchManager.java
@@ -0,0 +1,281 @@
+/**
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
+ *
+ * Complete list of developers available at our web site:
+ *
+ * http://rapidminer.com
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General
+ * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any
+ * later version.
+ *
+ * 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/.
+ */
+package com.rapidminer.gui.processeditor.search;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.lucene.document.Document;
+import org.apache.lucene.document.Field;
+
+import com.rapidminer.gui.renderer.RendererService;
+import com.rapidminer.gui.tools.ProgressThread;
+import com.rapidminer.operator.Operator;
+import com.rapidminer.operator.OperatorCapability;
+import com.rapidminer.operator.OperatorCreationException;
+import com.rapidminer.operator.OperatorDescription;
+import com.rapidminer.operator.learner.CapabilityProvider;
+import com.rapidminer.operator.learner.Learner;
+import com.rapidminer.operator.ports.InputPort;
+import com.rapidminer.operator.ports.InputPorts;
+import com.rapidminer.operator.ports.OutputPort;
+import com.rapidminer.operator.ports.OutputPorts;
+import com.rapidminer.operator.ports.metadata.MetaData;
+import com.rapidminer.operator.ports.metadata.Precondition;
+import com.rapidminer.parameter.ParameterType;
+import com.rapidminer.search.AbstractGlobalSearchManager;
+import com.rapidminer.search.GlobalSearchDefaultField;
+import com.rapidminer.search.GlobalSearchUtilities;
+import com.rapidminer.tools.OperatorService;
+import com.rapidminer.tools.documentation.OperatorDocBundle;
+
+
+/**
+ * Manages operator search for the Global Search feature. See {@link OperatorGlobalSearch}.
+ *
+ * @author Marco Boeck
+ * @since 8.1
+ */
+class OperatorGlobalSearchManager extends AbstractGlobalSearchManager implements OperatorService.OperatorServiceListener {
+
+ private static final Map ADDITIONAL_FIELDS;
+
+ private static final String FIELD_TAG = "tag";
+ private static final String FIELD_PARAMETER = "parameter";
+ private static final String FIELD_INPUT_CLASS = "input";
+ private static final String FIELD_OUTPUT_CLASS = "output";
+ private static final String FIELD_CAPABILITIES = "capability";
+ private static final String FIELD_SOURCE = "source";
+
+ private static final String DUMMY_OPERATOR = "dummy";
+ private static final String PROCESS_ROOT_OPERATOR = "process";
+ private static final String IO_OBJECT = "IOObject";
+
+ private static final float FIELD_BOOST_TAG = 0.5f;
+ private static final float FIELD_BOOST_SOURCE = 0.25f;
+
+ static {
+ ADDITIONAL_FIELDS = new HashMap<>();
+ ADDITIONAL_FIELDS.put(FIELD_TAG, "The tags of the operator");
+ ADDITIONAL_FIELDS.put(FIELD_PARAMETER, "The parameter names of the operator");
+ ADDITIONAL_FIELDS.put(FIELD_INPUT_CLASS, "The input port types of the operator");
+ ADDITIONAL_FIELDS.put(FIELD_OUTPUT_CLASS, "The output port types of the operator");
+ ADDITIONAL_FIELDS.put(FIELD_CAPABILITIES, "The capabilities of the operator (typically only specified for learners)");
+ ADDITIONAL_FIELDS.put(FIELD_SOURCE, "The source of the operator, e.g. RapidMiner Studio Core or an extension");
+ }
+
+
+ protected OperatorGlobalSearchManager() {
+ super(OperatorGlobalSearch.CATEGORY_ID, ADDITIONAL_FIELDS, new GlobalSearchDefaultField(FIELD_TAG, FIELD_BOOST_TAG), new GlobalSearchDefaultField(FIELD_SOURCE, FIELD_BOOST_SOURCE));
+ }
+
+ @Override
+ public void operatorRegistered(final OperatorDescription description, final OperatorDocBundle bundle) {
+ if (description.isDeprecated()) {
+ return;
+ }
+ if (DUMMY_OPERATOR.equals(description.getKey()) || PROCESS_ROOT_OPERATOR.equals(description.getKey())) {
+ return;
+ }
+ addDocumentToIndex(createDocument(description));
+ }
+
+ @Override
+ public void operatorUnregistered(final OperatorDescription description) {
+ removeDocumentFromIndex(createDocument(description));
+ }
+
+ @Override
+ protected void init() {
+ OperatorService.addOperatorServiceListener(this);
+ }
+
+ @Override
+ protected List createInitialIndex(final ProgressThread progressThread) {
+ // not needed
+ return Collections.emptyList();
+ }
+
+ /**
+ * Creates an operator search document for the given operator description.
+ *
+ * @param opDesc
+ * the operator description for which to create the search document
+ * @return the document, never {@code null}
+ */
+ private Document createDocument(final OperatorDescription opDesc) {
+ List fields = new ArrayList<>();
+
+ // add tags
+ List tags = opDesc.getTags();
+ StringBuilder sb = new StringBuilder();
+ if (!tags.isEmpty()) {
+ for (String tag : tags) {
+ sb.append(tag);
+ sb.append(' ');
+ }
+ }
+ sb.append(opDesc.getGroupName());
+ fields.add(GlobalSearchUtilities.INSTANCE.createFieldForTexts(FIELD_TAG, sb.toString()));
+ fields.add(GlobalSearchUtilities.INSTANCE.createFieldForTexts(FIELD_SOURCE, opDesc.getProviderName()));
+
+ // add parameters and input/output port classes
+ // as of 8.1, this operator creation does not cost any time, even though it looks scary
+ // for over a dozen extensions, the whole try-block below with operator creation adds less than 1 second to Studio start
+ try {
+ Operator op = opDesc.createOperatorInstance();
+
+ // store parameter keys
+ createParameterField(fields, op);
+
+ // store input port types
+ createInputPortField(fields, op);
+
+ // store output port types
+ createOutputPortField(fields, op);
+
+ // for learners, also store their capabilities
+ if (op instanceof CapabilityProvider) {
+ createCapabilitiesField(fields, (CapabilityProvider) op);
+ }
+ } catch (OperatorCreationException e) {
+ // should not happen, if it does, ignore
+ }
+ return GlobalSearchUtilities.INSTANCE.createDocument(opDesc.getKey(), opDesc.getName(), fields.toArray(new Field[fields.size()]));
+ }
+
+ /**
+ * Creates the parameter field for operators.
+ *
+ * @param fields
+ * the list of fields to which the new field should be added
+ * @param op
+ * the operator instance
+ */
+ private void createParameterField(final List fields, final Operator op) {
+ StringBuilder sb;
+ sb = new StringBuilder();
+ for (ParameterType type : op.getParameterTypes()) {
+ String key = type.getKey().replaceAll("_", " ");
+ sb.append(key);
+ sb.append(' ');
+ }
+ fields.add(GlobalSearchUtilities.INSTANCE.createFieldForTexts(FIELD_PARAMETER, sb.toString()));
+ }
+
+ /**
+ * Creates the input port type field for operators.
+ *
+ * @param fields
+ * the list of fields to which the new field should be added
+ * @param op
+ * the operator instance
+ */
+
+ private void createInputPortField(final List fields, final Operator op) {
+ StringBuilder sb;
+ InputPorts inputPorts = op.getInputPorts();
+ if (inputPorts != null && inputPorts.getNumberOfPorts() > 0) {
+ sb = new StringBuilder();
+ // there is a port? Every port input class extends IOObject, so add that
+ sb.append(IO_OBJECT);
+ sb.append(' ');
+ for (InputPort inPort : inputPorts.getAllPorts()) {
+ if (!inPort.getAllPreconditions().isEmpty()) {
+ List preconditions = new LinkedList<>(inPort.getAllPreconditions());
+ MetaData expectedMD = preconditions.get(0).getExpectedMetaData();
+ String name = RendererService.getName(expectedMD.getObjectClass());
+ if (name != null) {
+ sb.append(name);
+ } else {
+ sb.append(inPort.getName());
+ }
+ } else {
+ sb.append(inPort.getName());
+ }
+ sb.append(' ');
+ }
+ fields.add(GlobalSearchUtilities.INSTANCE.createFieldForTexts(FIELD_INPUT_CLASS, sb.toString()));
+ }
+ }
+
+ /**
+ * Creates the output port type field for operators.
+ *
+ * @param fields
+ * the list of fields to which the new field should be added
+ * @param op
+ * the operator instance
+ */
+ private void createOutputPortField(final List fields, final Operator op) {
+ StringBuilder sb;
+ OutputPorts outputPorts = op.getOutputPorts();
+ if (outputPorts != null && outputPorts.getNumberOfPorts() > 0) {
+ sb = new StringBuilder();
+ // there is a port? Every port output class extends IOObject, so add that
+ sb.append(IO_OBJECT);
+ sb.append(' ');
+
+ // to prepare output MD, we need to trigger generation here
+ op.transformMetaData();
+ for (OutputPort outPort : outputPorts.getAllPorts()) {
+ // we need to use the deprecated method because we don't want specific MD, but whatever MD is there
+ MetaData resultMD = outPort.getMetaData();
+ if (resultMD != null) {
+ String name = RendererService.getName(resultMD.getObjectClass());
+ if (name != null) {
+ sb.append(name);
+ } else {
+ sb.append(outPort.getName());
+ }
+ } else {
+ sb.append(outPort.getName());
+ }
+ sb.append(' ');
+ }
+ fields.add(GlobalSearchUtilities.INSTANCE.createFieldForTexts(FIELD_OUTPUT_CLASS, sb.toString()));
+ }
+ }
+
+ /**
+ * Create the capabilities field for {@link Learner}s.
+ *
+ * @param fields
+ * the list of fields to which the new field should be added
+ * @param op
+ * the learner instance
+ */
+ private void createCapabilitiesField(final List fields, final CapabilityProvider op) {
+ StringBuilder sb;
+ sb = new StringBuilder();
+ for (OperatorCapability capability : OperatorCapability.values()) {
+ if (op.supportsCapability(capability)) {
+ sb.append(capability.getDescription());
+ sb.append(' ');
+ }
+ }
+
+ fields.add(GlobalSearchUtilities.INSTANCE.createFieldForTexts(FIELD_CAPABILITIES, sb.toString()));
+ }
+
+}
diff --git a/src/main/java/com/rapidminer/gui/properties/AttributeOrderingDialog.java b/src/main/java/com/rapidminer/gui/properties/AttributeOrderingDialog.java
index 2bafdca7e..88812a591 100644
--- a/src/main/java/com/rapidminer/gui/properties/AttributeOrderingDialog.java
+++ b/src/main/java/com/rapidminer/gui/properties/AttributeOrderingDialog.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/AttributesPropertyDialog.java b/src/main/java/com/rapidminer/gui/properties/AttributesPropertyDialog.java
index 53b42af0c..01d9fa7f8 100644
--- a/src/main/java/com/rapidminer/gui/properties/AttributesPropertyDialog.java
+++ b/src/main/java/com/rapidminer/gui/properties/AttributesPropertyDialog.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/BasicPropertyTable.java b/src/main/java/com/rapidminer/gui/properties/BasicPropertyTable.java
index 451c3214e..5d3fdc769 100644
--- a/src/main/java/com/rapidminer/gui/properties/BasicPropertyTable.java
+++ b/src/main/java/com/rapidminer/gui/properties/BasicPropertyTable.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/BetaFeaturesListener.java b/src/main/java/com/rapidminer/gui/properties/BetaFeaturesListener.java
index cb0c518e5..ac170211a 100644
--- a/src/main/java/com/rapidminer/gui/properties/BetaFeaturesListener.java
+++ b/src/main/java/com/rapidminer/gui/properties/BetaFeaturesListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/CompatibilityLevelSpinnerModel.java b/src/main/java/com/rapidminer/gui/properties/CompatibilityLevelSpinnerModel.java
index b5cff1926..e1bbadc73 100644
--- a/src/main/java/com/rapidminer/gui/properties/CompatibilityLevelSpinnerModel.java
+++ b/src/main/java/com/rapidminer/gui/properties/CompatibilityLevelSpinnerModel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/ConfigureParameterOptimizationDialog.java b/src/main/java/com/rapidminer/gui/properties/ConfigureParameterOptimizationDialog.java
index 579c2b750..68944c06b 100644
--- a/src/main/java/com/rapidminer/gui/properties/ConfigureParameterOptimizationDialog.java
+++ b/src/main/java/com/rapidminer/gui/properties/ConfigureParameterOptimizationDialog.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/ConfigureParameterOptimizationDialogCreator.java b/src/main/java/com/rapidminer/gui/properties/ConfigureParameterOptimizationDialogCreator.java
index e19db0b86..f204c8772 100644
--- a/src/main/java/com/rapidminer/gui/properties/ConfigureParameterOptimizationDialogCreator.java
+++ b/src/main/java/com/rapidminer/gui/properties/ConfigureParameterOptimizationDialogCreator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/DefaultPropertyTable.java b/src/main/java/com/rapidminer/gui/properties/DefaultPropertyTable.java
index 341c82b60..c18484506 100644
--- a/src/main/java/com/rapidminer/gui/properties/DefaultPropertyTable.java
+++ b/src/main/java/com/rapidminer/gui/properties/DefaultPropertyTable.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/DefaultRMCellEditor.java b/src/main/java/com/rapidminer/gui/properties/DefaultRMCellEditor.java
index e6dbe98ff..00ce74641 100644
--- a/src/main/java/com/rapidminer/gui/properties/DefaultRMCellEditor.java
+++ b/src/main/java/com/rapidminer/gui/properties/DefaultRMCellEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/EnumerationPropertyDialog.java b/src/main/java/com/rapidminer/gui/properties/EnumerationPropertyDialog.java
index 6f7da19af..88cec1c83 100644
--- a/src/main/java/com/rapidminer/gui/properties/EnumerationPropertyDialog.java
+++ b/src/main/java/com/rapidminer/gui/properties/EnumerationPropertyDialog.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/EnumerationPropertyTable.java b/src/main/java/com/rapidminer/gui/properties/EnumerationPropertyTable.java
index 29da3ec06..1fd5ab7b0 100644
--- a/src/main/java/com/rapidminer/gui/properties/EnumerationPropertyTable.java
+++ b/src/main/java/com/rapidminer/gui/properties/EnumerationPropertyTable.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/ExpressionPropertyDialog.java b/src/main/java/com/rapidminer/gui/properties/ExpressionPropertyDialog.java
index d7d204f25..95ea211cb 100644
--- a/src/main/java/com/rapidminer/gui/properties/ExpressionPropertyDialog.java
+++ b/src/main/java/com/rapidminer/gui/properties/ExpressionPropertyDialog.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/FilterPropertyDialog.java b/src/main/java/com/rapidminer/gui/properties/FilterPropertyDialog.java
index d2c5d43a4..6a3bc2b4d 100644
--- a/src/main/java/com/rapidminer/gui/properties/FilterPropertyDialog.java
+++ b/src/main/java/com/rapidminer/gui/properties/FilterPropertyDialog.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/FilterTableModel.java b/src/main/java/com/rapidminer/gui/properties/FilterTableModel.java
index 7bbcd7d22..c81f1a776 100644
--- a/src/main/java/com/rapidminer/gui/properties/FilterTableModel.java
+++ b/src/main/java/com/rapidminer/gui/properties/FilterTableModel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/FocusedComponentBorder.java b/src/main/java/com/rapidminer/gui/properties/FocusedComponentBorder.java
index 456de4c2a..380a36edf 100644
--- a/src/main/java/com/rapidminer/gui/properties/FocusedComponentBorder.java
+++ b/src/main/java/com/rapidminer/gui/properties/FocusedComponentBorder.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/FunctionDescriptionModel.java b/src/main/java/com/rapidminer/gui/properties/FunctionDescriptionModel.java
index c47be25e4..0769456a9 100644
--- a/src/main/java/com/rapidminer/gui/properties/FunctionDescriptionModel.java
+++ b/src/main/java/com/rapidminer/gui/properties/FunctionDescriptionModel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/FunctionDescriptionPanel.java b/src/main/java/com/rapidminer/gui/properties/FunctionDescriptionPanel.java
index c078d96e0..7bc6c82b3 100644
--- a/src/main/java/com/rapidminer/gui/properties/FunctionDescriptionPanel.java
+++ b/src/main/java/com/rapidminer/gui/properties/FunctionDescriptionPanel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/FunctionInputPanel.java b/src/main/java/com/rapidminer/gui/properties/FunctionInputPanel.java
index 0dab156c5..376a09064 100644
--- a/src/main/java/com/rapidminer/gui/properties/FunctionInputPanel.java
+++ b/src/main/java/com/rapidminer/gui/properties/FunctionInputPanel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/FunctionInputsModel.java b/src/main/java/com/rapidminer/gui/properties/FunctionInputsModel.java
index 170937874..c0ee8b2c7 100644
--- a/src/main/java/com/rapidminer/gui/properties/FunctionInputsModel.java
+++ b/src/main/java/com/rapidminer/gui/properties/FunctionInputsModel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/GenericParameterPanel.java b/src/main/java/com/rapidminer/gui/properties/GenericParameterPanel.java
index c9b53b793..fc4755b87 100644
--- a/src/main/java/com/rapidminer/gui/properties/GenericParameterPanel.java
+++ b/src/main/java/com/rapidminer/gui/properties/GenericParameterPanel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/ListPropertyDialog.java b/src/main/java/com/rapidminer/gui/properties/ListPropertyDialog.java
index 1f316760b..10206d04b 100644
--- a/src/main/java/com/rapidminer/gui/properties/ListPropertyDialog.java
+++ b/src/main/java/com/rapidminer/gui/properties/ListPropertyDialog.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/ListPropertyTable.java b/src/main/java/com/rapidminer/gui/properties/ListPropertyTable.java
index a0fa0e51c..dc068c16b 100644
--- a/src/main/java/com/rapidminer/gui/properties/ListPropertyTable.java
+++ b/src/main/java/com/rapidminer/gui/properties/ListPropertyTable.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/ListPropertyTable2.java b/src/main/java/com/rapidminer/gui/properties/ListPropertyTable2.java
index 381771042..a535db0b3 100644
--- a/src/main/java/com/rapidminer/gui/properties/ListPropertyTable2.java
+++ b/src/main/java/com/rapidminer/gui/properties/ListPropertyTable2.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/ListTableModel.java b/src/main/java/com/rapidminer/gui/properties/ListTableModel.java
index c83b979b1..702e7f3ac 100644
--- a/src/main/java/com/rapidminer/gui/properties/ListTableModel.java
+++ b/src/main/java/com/rapidminer/gui/properties/ListTableModel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/MacroSelectionDialog.java b/src/main/java/com/rapidminer/gui/properties/MacroSelectionDialog.java
index f95c08adc..9d6961428 100644
--- a/src/main/java/com/rapidminer/gui/properties/MacroSelectionDialog.java
+++ b/src/main/java/com/rapidminer/gui/properties/MacroSelectionDialog.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/MatrixPropertyDialog.java b/src/main/java/com/rapidminer/gui/properties/MatrixPropertyDialog.java
index 19697c789..dd95570ef 100644
--- a/src/main/java/com/rapidminer/gui/properties/MatrixPropertyDialog.java
+++ b/src/main/java/com/rapidminer/gui/properties/MatrixPropertyDialog.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/MatrixPropertyTable.java b/src/main/java/com/rapidminer/gui/properties/MatrixPropertyTable.java
index 54470e551..41c8eebe4 100644
--- a/src/main/java/com/rapidminer/gui/properties/MatrixPropertyTable.java
+++ b/src/main/java/com/rapidminer/gui/properties/MatrixPropertyTable.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/MatrixPropertyTableModel.java b/src/main/java/com/rapidminer/gui/properties/MatrixPropertyTableModel.java
index dc1c72c1c..e08ab1ec2 100644
--- a/src/main/java/com/rapidminer/gui/properties/MatrixPropertyTableModel.java
+++ b/src/main/java/com/rapidminer/gui/properties/MatrixPropertyTableModel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/OperatorPropertyPanel.java b/src/main/java/com/rapidminer/gui/properties/OperatorPropertyPanel.java
index 907c8cad6..e8f9ba239 100644
--- a/src/main/java/com/rapidminer/gui/properties/OperatorPropertyPanel.java
+++ b/src/main/java/com/rapidminer/gui/properties/OperatorPropertyPanel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/ParameterChangeListener.java b/src/main/java/com/rapidminer/gui/properties/ParameterChangeListener.java
index fb61ba5a2..8ca6e1d54 100644
--- a/src/main/java/com/rapidminer/gui/properties/ParameterChangeListener.java
+++ b/src/main/java/com/rapidminer/gui/properties/ParameterChangeListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/PropertyDialog.java b/src/main/java/com/rapidminer/gui/properties/PropertyDialog.java
index 841282c00..95d168929 100644
--- a/src/main/java/com/rapidminer/gui/properties/PropertyDialog.java
+++ b/src/main/java/com/rapidminer/gui/properties/PropertyDialog.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/PropertyPanel.java b/src/main/java/com/rapidminer/gui/properties/PropertyPanel.java
index 95105c661..f500ba33c 100644
--- a/src/main/java/com/rapidminer/gui/properties/PropertyPanel.java
+++ b/src/main/java/com/rapidminer/gui/properties/PropertyPanel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/PropertyTable.java b/src/main/java/com/rapidminer/gui/properties/PropertyTable.java
index 0a12aed5f..dd1e3e6ae 100644
--- a/src/main/java/com/rapidminer/gui/properties/PropertyTable.java
+++ b/src/main/java/com/rapidminer/gui/properties/PropertyTable.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/PropertyTableParameterChangeListener.java b/src/main/java/com/rapidminer/gui/properties/PropertyTableParameterChangeListener.java
index 5fcc337a9..268f40f7e 100644
--- a/src/main/java/com/rapidminer/gui/properties/PropertyTableParameterChangeListener.java
+++ b/src/main/java/com/rapidminer/gui/properties/PropertyTableParameterChangeListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/ProxyParameterSaver.java b/src/main/java/com/rapidminer/gui/properties/ProxyParameterSaver.java
index d5098fa00..f34837d19 100644
--- a/src/main/java/com/rapidminer/gui/properties/ProxyParameterSaver.java
+++ b/src/main/java/com/rapidminer/gui/properties/ProxyParameterSaver.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/RegexpPropertyDialog.java b/src/main/java/com/rapidminer/gui/properties/RegexpPropertyDialog.java
index 3689c682f..d563f10c1 100644
--- a/src/main/java/com/rapidminer/gui/properties/RegexpPropertyDialog.java
+++ b/src/main/java/com/rapidminer/gui/properties/RegexpPropertyDialog.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/SettingsDialog.java b/src/main/java/com/rapidminer/gui/properties/SettingsDialog.java
index c630c5ce5..54b48bfa1 100644
--- a/src/main/java/com/rapidminer/gui/properties/SettingsDialog.java
+++ b/src/main/java/com/rapidminer/gui/properties/SettingsDialog.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/SettingsItem.java b/src/main/java/com/rapidminer/gui/properties/SettingsItem.java
index 91f0b951c..216ab721c 100644
--- a/src/main/java/com/rapidminer/gui/properties/SettingsItem.java
+++ b/src/main/java/com/rapidminer/gui/properties/SettingsItem.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/SettingsItems.java b/src/main/java/com/rapidminer/gui/properties/SettingsItems.java
index b845e59e1..8d3c58613 100644
--- a/src/main/java/com/rapidminer/gui/properties/SettingsItems.java
+++ b/src/main/java/com/rapidminer/gui/properties/SettingsItems.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/SettingsPropertyPanel.java b/src/main/java/com/rapidminer/gui/properties/SettingsPropertyPanel.java
index a95aa1be2..9b3e2c8ef 100644
--- a/src/main/java/com/rapidminer/gui/properties/SettingsPropertyPanel.java
+++ b/src/main/java/com/rapidminer/gui/properties/SettingsPropertyPanel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/SettingsTabs.java b/src/main/java/com/rapidminer/gui/properties/SettingsTabs.java
index 4012a46ab..de0db7288 100644
--- a/src/main/java/com/rapidminer/gui/properties/SettingsTabs.java
+++ b/src/main/java/com/rapidminer/gui/properties/SettingsTabs.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/SettingsXmlHandler.java b/src/main/java/com/rapidminer/gui/properties/SettingsXmlHandler.java
index c98286e61..1a21f84cd 100644
--- a/src/main/java/com/rapidminer/gui/properties/SettingsXmlHandler.java
+++ b/src/main/java/com/rapidminer/gui/properties/SettingsXmlHandler.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/TextPropertyDialog.java b/src/main/java/com/rapidminer/gui/properties/TextPropertyDialog.java
index 2ea2443a0..c370fce99 100644
--- a/src/main/java/com/rapidminer/gui/properties/TextPropertyDialog.java
+++ b/src/main/java/com/rapidminer/gui/properties/TextPropertyDialog.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/celleditors/key/DefaultPropertyKeyRenderer.java b/src/main/java/com/rapidminer/gui/properties/celleditors/key/DefaultPropertyKeyRenderer.java
index c8258865c..dee5db951 100644
--- a/src/main/java/com/rapidminer/gui/properties/celleditors/key/DefaultPropertyKeyRenderer.java
+++ b/src/main/java/com/rapidminer/gui/properties/celleditors/key/DefaultPropertyKeyRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/celleditors/key/DelegationKeyCellEditor.java b/src/main/java/com/rapidminer/gui/properties/celleditors/key/DelegationKeyCellEditor.java
index a73dc8c5b..f81c57c33 100644
--- a/src/main/java/com/rapidminer/gui/properties/celleditors/key/DelegationKeyCellEditor.java
+++ b/src/main/java/com/rapidminer/gui/properties/celleditors/key/DelegationKeyCellEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/celleditors/key/ParameterValueKeyCellEditor.java b/src/main/java/com/rapidminer/gui/properties/celleditors/key/ParameterValueKeyCellEditor.java
index e908020f2..d2c2e40bc 100644
--- a/src/main/java/com/rapidminer/gui/properties/celleditors/key/ParameterValueKeyCellEditor.java
+++ b/src/main/java/com/rapidminer/gui/properties/celleditors/key/ParameterValueKeyCellEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/celleditors/key/PropertyKeyCellEditor.java b/src/main/java/com/rapidminer/gui/properties/celleditors/key/PropertyKeyCellEditor.java
index 42f2122c9..e676826f9 100644
--- a/src/main/java/com/rapidminer/gui/properties/celleditors/key/PropertyKeyCellEditor.java
+++ b/src/main/java/com/rapidminer/gui/properties/celleditors/key/PropertyKeyCellEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/celleditors/value/AbstractSuggestionBoxValueCellEditor.java b/src/main/java/com/rapidminer/gui/properties/celleditors/value/AbstractSuggestionBoxValueCellEditor.java
index aaff955b3..682e028a9 100644
--- a/src/main/java/com/rapidminer/gui/properties/celleditors/value/AbstractSuggestionBoxValueCellEditor.java
+++ b/src/main/java/com/rapidminer/gui/properties/celleditors/value/AbstractSuggestionBoxValueCellEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/celleditors/value/AttributeComboBox.java b/src/main/java/com/rapidminer/gui/properties/celleditors/value/AttributeComboBox.java
index e871a606c..328297f28 100644
--- a/src/main/java/com/rapidminer/gui/properties/celleditors/value/AttributeComboBox.java
+++ b/src/main/java/com/rapidminer/gui/properties/celleditors/value/AttributeComboBox.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/celleditors/value/AttributeFileValueCellEditor.java b/src/main/java/com/rapidminer/gui/properties/celleditors/value/AttributeFileValueCellEditor.java
index 704bfc243..964a065a4 100644
--- a/src/main/java/com/rapidminer/gui/properties/celleditors/value/AttributeFileValueCellEditor.java
+++ b/src/main/java/com/rapidminer/gui/properties/celleditors/value/AttributeFileValueCellEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/celleditors/value/AttributeOrderingCellEditor.java b/src/main/java/com/rapidminer/gui/properties/celleditors/value/AttributeOrderingCellEditor.java
index 5fd49e6ab..90a571a3b 100644
--- a/src/main/java/com/rapidminer/gui/properties/celleditors/value/AttributeOrderingCellEditor.java
+++ b/src/main/java/com/rapidminer/gui/properties/celleditors/value/AttributeOrderingCellEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/celleditors/value/AttributeValueCellEditor.java b/src/main/java/com/rapidminer/gui/properties/celleditors/value/AttributeValueCellEditor.java
index eb7632e1c..7ceb3a821 100644
--- a/src/main/java/com/rapidminer/gui/properties/celleditors/value/AttributeValueCellEditor.java
+++ b/src/main/java/com/rapidminer/gui/properties/celleditors/value/AttributeValueCellEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/celleditors/value/AttributesValueCellEditor.java b/src/main/java/com/rapidminer/gui/properties/celleditors/value/AttributesValueCellEditor.java
index a6e3c6da8..966f18704 100644
--- a/src/main/java/com/rapidminer/gui/properties/celleditors/value/AttributesValueCellEditor.java
+++ b/src/main/java/com/rapidminer/gui/properties/celleditors/value/AttributesValueCellEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/celleditors/value/ColorValueCellEditor.java b/src/main/java/com/rapidminer/gui/properties/celleditors/value/ColorValueCellEditor.java
index e31b7f056..85709f808 100644
--- a/src/main/java/com/rapidminer/gui/properties/celleditors/value/ColorValueCellEditor.java
+++ b/src/main/java/com/rapidminer/gui/properties/celleditors/value/ColorValueCellEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/celleditors/value/ConfigurableValueCellEditor.java b/src/main/java/com/rapidminer/gui/properties/celleditors/value/ConfigurableValueCellEditor.java
index a40c171d9..cd4c52d5b 100644
--- a/src/main/java/com/rapidminer/gui/properties/celleditors/value/ConfigurableValueCellEditor.java
+++ b/src/main/java/com/rapidminer/gui/properties/celleditors/value/ConfigurableValueCellEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/celleditors/value/ConfigurationWizardValueCellEditor.java b/src/main/java/com/rapidminer/gui/properties/celleditors/value/ConfigurationWizardValueCellEditor.java
index 4570515e4..76702d7f6 100644
--- a/src/main/java/com/rapidminer/gui/properties/celleditors/value/ConfigurationWizardValueCellEditor.java
+++ b/src/main/java/com/rapidminer/gui/properties/celleditors/value/ConfigurationWizardValueCellEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/celleditors/value/CronExpressionCellEditor.java b/src/main/java/com/rapidminer/gui/properties/celleditors/value/CronExpressionCellEditor.java
index adb78ffe2..5248c49e5 100644
--- a/src/main/java/com/rapidminer/gui/properties/celleditors/value/CronExpressionCellEditor.java
+++ b/src/main/java/com/rapidminer/gui/properties/celleditors/value/CronExpressionCellEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/celleditors/value/DateFormatValueCellEditor.java b/src/main/java/com/rapidminer/gui/properties/celleditors/value/DateFormatValueCellEditor.java
index eb35b4d51..f1cdeb205 100644
--- a/src/main/java/com/rapidminer/gui/properties/celleditors/value/DateFormatValueCellEditor.java
+++ b/src/main/java/com/rapidminer/gui/properties/celleditors/value/DateFormatValueCellEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/celleditors/value/DateValueCellEditor.java b/src/main/java/com/rapidminer/gui/properties/celleditors/value/DateValueCellEditor.java
index bdf18ca7d..a7e9b5b1d 100644
--- a/src/main/java/com/rapidminer/gui/properties/celleditors/value/DateValueCellEditor.java
+++ b/src/main/java/com/rapidminer/gui/properties/celleditors/value/DateValueCellEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/celleditors/value/DefaultPropertyValueCellEditor.java b/src/main/java/com/rapidminer/gui/properties/celleditors/value/DefaultPropertyValueCellEditor.java
index fff95d68b..cc6edfcb5 100644
--- a/src/main/java/com/rapidminer/gui/properties/celleditors/value/DefaultPropertyValueCellEditor.java
+++ b/src/main/java/com/rapidminer/gui/properties/celleditors/value/DefaultPropertyValueCellEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/celleditors/value/EnumerationValueCellEditor.java b/src/main/java/com/rapidminer/gui/properties/celleditors/value/EnumerationValueCellEditor.java
index 12840df25..1256b0a95 100644
--- a/src/main/java/com/rapidminer/gui/properties/celleditors/value/EnumerationValueCellEditor.java
+++ b/src/main/java/com/rapidminer/gui/properties/celleditors/value/EnumerationValueCellEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/celleditors/value/ExpressionValueCellEditor.java b/src/main/java/com/rapidminer/gui/properties/celleditors/value/ExpressionValueCellEditor.java
index 1f0385dfb..5d7373648 100644
--- a/src/main/java/com/rapidminer/gui/properties/celleditors/value/ExpressionValueCellEditor.java
+++ b/src/main/java/com/rapidminer/gui/properties/celleditors/value/ExpressionValueCellEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/celleditors/value/FileValueCellEditor.java b/src/main/java/com/rapidminer/gui/properties/celleditors/value/FileValueCellEditor.java
index 2ed1df154..67cfda11c 100644
--- a/src/main/java/com/rapidminer/gui/properties/celleditors/value/FileValueCellEditor.java
+++ b/src/main/java/com/rapidminer/gui/properties/celleditors/value/FileValueCellEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/celleditors/value/FilterValueCellEditor.java b/src/main/java/com/rapidminer/gui/properties/celleditors/value/FilterValueCellEditor.java
index 526676202..c5e2c028d 100644
--- a/src/main/java/com/rapidminer/gui/properties/celleditors/value/FilterValueCellEditor.java
+++ b/src/main/java/com/rapidminer/gui/properties/celleditors/value/FilterValueCellEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/celleditors/value/InnerOperatorValueCellEditor.java b/src/main/java/com/rapidminer/gui/properties/celleditors/value/InnerOperatorValueCellEditor.java
index 044f28948..ea88aa954 100644
--- a/src/main/java/com/rapidminer/gui/properties/celleditors/value/InnerOperatorValueCellEditor.java
+++ b/src/main/java/com/rapidminer/gui/properties/celleditors/value/InnerOperatorValueCellEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/celleditors/value/LinkButtonValueCellEditor.java b/src/main/java/com/rapidminer/gui/properties/celleditors/value/LinkButtonValueCellEditor.java
index d37814fd0..da3d7f72f 100644
--- a/src/main/java/com/rapidminer/gui/properties/celleditors/value/LinkButtonValueCellEditor.java
+++ b/src/main/java/com/rapidminer/gui/properties/celleditors/value/LinkButtonValueCellEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/celleditors/value/ListValueCellEditor.java b/src/main/java/com/rapidminer/gui/properties/celleditors/value/ListValueCellEditor.java
index 8b0c74d04..403960c79 100644
--- a/src/main/java/com/rapidminer/gui/properties/celleditors/value/ListValueCellEditor.java
+++ b/src/main/java/com/rapidminer/gui/properties/celleditors/value/ListValueCellEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/celleditors/value/MatrixValueCellEditor.java b/src/main/java/com/rapidminer/gui/properties/celleditors/value/MatrixValueCellEditor.java
index 3d982330d..ea6635691 100644
--- a/src/main/java/com/rapidminer/gui/properties/celleditors/value/MatrixValueCellEditor.java
+++ b/src/main/java/com/rapidminer/gui/properties/celleditors/value/MatrixValueCellEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/celleditors/value/OAuthDialog.java b/src/main/java/com/rapidminer/gui/properties/celleditors/value/OAuthDialog.java
index 3f7485242..a3817ee68 100644
--- a/src/main/java/com/rapidminer/gui/properties/celleditors/value/OAuthDialog.java
+++ b/src/main/java/com/rapidminer/gui/properties/celleditors/value/OAuthDialog.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/celleditors/value/OAuthValueCellEditor.java b/src/main/java/com/rapidminer/gui/properties/celleditors/value/OAuthValueCellEditor.java
index f6c38948c..d7dd331d3 100644
--- a/src/main/java/com/rapidminer/gui/properties/celleditors/value/OAuthValueCellEditor.java
+++ b/src/main/java/com/rapidminer/gui/properties/celleditors/value/OAuthValueCellEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/celleditors/value/OperatorValueValueCellEditor.java b/src/main/java/com/rapidminer/gui/properties/celleditors/value/OperatorValueValueCellEditor.java
index 9e887bdbd..c6f5f1b0c 100644
--- a/src/main/java/com/rapidminer/gui/properties/celleditors/value/OperatorValueValueCellEditor.java
+++ b/src/main/java/com/rapidminer/gui/properties/celleditors/value/OperatorValueValueCellEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/celleditors/value/ParameterTupelCellEditor.java b/src/main/java/com/rapidminer/gui/properties/celleditors/value/ParameterTupelCellEditor.java
index f77432537..13d983b9e 100644
--- a/src/main/java/com/rapidminer/gui/properties/celleditors/value/ParameterTupelCellEditor.java
+++ b/src/main/java/com/rapidminer/gui/properties/celleditors/value/ParameterTupelCellEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/celleditors/value/PreviewValueCellEditor.java b/src/main/java/com/rapidminer/gui/properties/celleditors/value/PreviewValueCellEditor.java
index 8e5cb58d7..81cdf236e 100644
--- a/src/main/java/com/rapidminer/gui/properties/celleditors/value/PreviewValueCellEditor.java
+++ b/src/main/java/com/rapidminer/gui/properties/celleditors/value/PreviewValueCellEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/celleditors/value/ProcessLocationValueCellEditor.java b/src/main/java/com/rapidminer/gui/properties/celleditors/value/ProcessLocationValueCellEditor.java
index 38cf722c0..d4b34cdf4 100644
--- a/src/main/java/com/rapidminer/gui/properties/celleditors/value/ProcessLocationValueCellEditor.java
+++ b/src/main/java/com/rapidminer/gui/properties/celleditors/value/ProcessLocationValueCellEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/celleditors/value/PropertyValueCellEditor.java b/src/main/java/com/rapidminer/gui/properties/celleditors/value/PropertyValueCellEditor.java
index e26a9f597..eb59617ee 100644
--- a/src/main/java/com/rapidminer/gui/properties/celleditors/value/PropertyValueCellEditor.java
+++ b/src/main/java/com/rapidminer/gui/properties/celleditors/value/PropertyValueCellEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/celleditors/value/RegexpValueCellEditor.java b/src/main/java/com/rapidminer/gui/properties/celleditors/value/RegexpValueCellEditor.java
index 6abac70ad..758311650 100644
--- a/src/main/java/com/rapidminer/gui/properties/celleditors/value/RegexpValueCellEditor.java
+++ b/src/main/java/com/rapidminer/gui/properties/celleditors/value/RegexpValueCellEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/celleditors/value/RemoteFileValueCellEditor.java b/src/main/java/com/rapidminer/gui/properties/celleditors/value/RemoteFileValueCellEditor.java
index bc3370ddd..16a3463d9 100644
--- a/src/main/java/com/rapidminer/gui/properties/celleditors/value/RemoteFileValueCellEditor.java
+++ b/src/main/java/com/rapidminer/gui/properties/celleditors/value/RemoteFileValueCellEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/celleditors/value/RepositoryLocationValueCellEditor.java b/src/main/java/com/rapidminer/gui/properties/celleditors/value/RepositoryLocationValueCellEditor.java
index ef7495104..2452fc21d 100644
--- a/src/main/java/com/rapidminer/gui/properties/celleditors/value/RepositoryLocationValueCellEditor.java
+++ b/src/main/java/com/rapidminer/gui/properties/celleditors/value/RepositoryLocationValueCellEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/celleditors/value/SimpleFileValueCellEditor.java b/src/main/java/com/rapidminer/gui/properties/celleditors/value/SimpleFileValueCellEditor.java
index 8b4e09fb8..0e9e25e83 100644
--- a/src/main/java/com/rapidminer/gui/properties/celleditors/value/SimpleFileValueCellEditor.java
+++ b/src/main/java/com/rapidminer/gui/properties/celleditors/value/SimpleFileValueCellEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/celleditors/value/SimpleSuggestionBoxValueCellEditor.java b/src/main/java/com/rapidminer/gui/properties/celleditors/value/SimpleSuggestionBoxValueCellEditor.java
index ecca6a109..b13b67b3b 100644
--- a/src/main/java/com/rapidminer/gui/properties/celleditors/value/SimpleSuggestionBoxValueCellEditor.java
+++ b/src/main/java/com/rapidminer/gui/properties/celleditors/value/SimpleSuggestionBoxValueCellEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/celleditors/value/TextValueCellEditor.java b/src/main/java/com/rapidminer/gui/properties/celleditors/value/TextValueCellEditor.java
index 2e9878d34..096c1942f 100644
--- a/src/main/java/com/rapidminer/gui/properties/celleditors/value/TextValueCellEditor.java
+++ b/src/main/java/com/rapidminer/gui/properties/celleditors/value/TextValueCellEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/tablepanel/TablePanel.java b/src/main/java/com/rapidminer/gui/properties/tablepanel/TablePanel.java
index 9a9457fcd..7f036744a 100644
--- a/src/main/java/com/rapidminer/gui/properties/tablepanel/TablePanel.java
+++ b/src/main/java/com/rapidminer/gui/properties/tablepanel/TablePanel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/implementations/CellTypeCheckBoxImpl.java b/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/implementations/CellTypeCheckBoxImpl.java
index 4040dab91..968cfe284 100644
--- a/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/implementations/CellTypeCheckBoxImpl.java
+++ b/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/implementations/CellTypeCheckBoxImpl.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/implementations/CellTypeComboBoxImpl.java b/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/implementations/CellTypeComboBoxImpl.java
index 6975cfdf1..09acc6514 100644
--- a/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/implementations/CellTypeComboBoxImpl.java
+++ b/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/implementations/CellTypeComboBoxImpl.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/implementations/CellTypeDateImpl.java b/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/implementations/CellTypeDateImpl.java
index 4b170bf5e..f76f8a930 100644
--- a/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/implementations/CellTypeDateImpl.java
+++ b/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/implementations/CellTypeDateImpl.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/implementations/CellTypeImplHelper.java b/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/implementations/CellTypeImplHelper.java
index 216d1363b..3cc8b26cb 100644
--- a/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/implementations/CellTypeImplHelper.java
+++ b/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/implementations/CellTypeImplHelper.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/implementations/CellTypeRegexImpl.java b/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/implementations/CellTypeRegexImpl.java
index 768c85d59..e495cb958 100644
--- a/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/implementations/CellTypeRegexImpl.java
+++ b/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/implementations/CellTypeRegexImpl.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/implementations/CellTypeTextFieldDefaultImpl.java b/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/implementations/CellTypeTextFieldDefaultImpl.java
index a8e4f9821..7d865192d 100644
--- a/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/implementations/CellTypeTextFieldDefaultImpl.java
+++ b/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/implementations/CellTypeTextFieldDefaultImpl.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/interfaces/CellType.java b/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/interfaces/CellType.java
index 13e673d94..0b1061c20 100644
--- a/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/interfaces/CellType.java
+++ b/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/interfaces/CellType.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/interfaces/CellTypeCheckBox.java b/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/interfaces/CellTypeCheckBox.java
index d7fae1cfb..d4fd8bf6e 100644
--- a/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/interfaces/CellTypeCheckBox.java
+++ b/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/interfaces/CellTypeCheckBox.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/interfaces/CellTypeComboBox.java b/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/interfaces/CellTypeComboBox.java
index 8c6f3ea56..ff3213286 100644
--- a/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/interfaces/CellTypeComboBox.java
+++ b/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/interfaces/CellTypeComboBox.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/interfaces/CellTypeDate.java b/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/interfaces/CellTypeDate.java
index f21ae0c59..826c288e2 100644
--- a/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/interfaces/CellTypeDate.java
+++ b/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/interfaces/CellTypeDate.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/interfaces/CellTypeDateTime.java b/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/interfaces/CellTypeDateTime.java
index 0ece34585..8f7f2cff5 100644
--- a/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/interfaces/CellTypeDateTime.java
+++ b/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/interfaces/CellTypeDateTime.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/interfaces/CellTypeLabel.java b/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/interfaces/CellTypeLabel.java
index 909f37104..75bd30518 100644
--- a/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/interfaces/CellTypeLabel.java
+++ b/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/interfaces/CellTypeLabel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/interfaces/CellTypeRegex.java b/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/interfaces/CellTypeRegex.java
index 5959dd320..8ce669678 100644
--- a/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/interfaces/CellTypeRegex.java
+++ b/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/interfaces/CellTypeRegex.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/interfaces/CellTypeTextFieldDefault.java b/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/interfaces/CellTypeTextFieldDefault.java
index 945ed3e09..7d5611f17 100644
--- a/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/interfaces/CellTypeTextFieldDefault.java
+++ b/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/interfaces/CellTypeTextFieldDefault.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/interfaces/CellTypeTextFieldInteger.java b/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/interfaces/CellTypeTextFieldInteger.java
index 6de395df9..3295edad4 100644
--- a/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/interfaces/CellTypeTextFieldInteger.java
+++ b/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/interfaces/CellTypeTextFieldInteger.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/interfaces/CellTypeTextFieldNumerical.java b/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/interfaces/CellTypeTextFieldNumerical.java
index 33001d2d4..fa552cabd 100644
--- a/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/interfaces/CellTypeTextFieldNumerical.java
+++ b/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/interfaces/CellTypeTextFieldNumerical.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/interfaces/CellTypeTextFieldTime.java b/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/interfaces/CellTypeTextFieldTime.java
index 730fb1826..cdbb438ac 100644
--- a/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/interfaces/CellTypeTextFieldTime.java
+++ b/src/main/java/com/rapidminer/gui/properties/tablepanel/cells/interfaces/CellTypeTextFieldTime.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/properties/tablepanel/model/TablePanelModel.java b/src/main/java/com/rapidminer/gui/properties/tablepanel/model/TablePanelModel.java
index 201f5f91e..8621264cd 100644
--- a/src/main/java/com/rapidminer/gui/properties/tablepanel/model/TablePanelModel.java
+++ b/src/main/java/com/rapidminer/gui/properties/tablepanel/model/TablePanelModel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/AbstractDataTablePlotterRenderer.java b/src/main/java/com/rapidminer/gui/renderer/AbstractDataTablePlotterRenderer.java
index 68eba506f..44b1cdda9 100644
--- a/src/main/java/com/rapidminer/gui/renderer/AbstractDataTablePlotterRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/AbstractDataTablePlotterRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/AbstractDataTableTableRenderer.java b/src/main/java/com/rapidminer/gui/renderer/AbstractDataTableTableRenderer.java
index 5d6d85826..104c016de 100644
--- a/src/main/java/com/rapidminer/gui/renderer/AbstractDataTableTableRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/AbstractDataTableTableRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/AbstractGraphRenderer.java b/src/main/java/com/rapidminer/gui/renderer/AbstractGraphRenderer.java
index 721e8c1ed..8ba547de5 100644
--- a/src/main/java/com/rapidminer/gui/renderer/AbstractGraphRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/AbstractGraphRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/AbstractRenderer.java b/src/main/java/com/rapidminer/gui/renderer/AbstractRenderer.java
index a8244dc72..747d410b1 100644
--- a/src/main/java/com/rapidminer/gui/renderer/AbstractRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/AbstractRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/AbstractTableModelTableRenderer.java b/src/main/java/com/rapidminer/gui/renderer/AbstractTableModelTableRenderer.java
index a7989f861..7e51bb2ba 100644
--- a/src/main/java/com/rapidminer/gui/renderer/AbstractTableModelTableRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/AbstractTableModelTableRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/AnnotationsRenderer.java b/src/main/java/com/rapidminer/gui/renderer/AnnotationsRenderer.java
index dd19320e1..0947eb4f3 100644
--- a/src/main/java/com/rapidminer/gui/renderer/AnnotationsRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/AnnotationsRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/AverageVectorRenderer.java b/src/main/java/com/rapidminer/gui/renderer/AverageVectorRenderer.java
index 9d95b69a9..5dd8d015b 100644
--- a/src/main/java/com/rapidminer/gui/renderer/AverageVectorRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/AverageVectorRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/CollectionRenderer.java b/src/main/java/com/rapidminer/gui/renderer/CollectionRenderer.java
index f09d14612..815eb5377 100644
--- a/src/main/java/com/rapidminer/gui/renderer/CollectionRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/CollectionRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/DefaultComponentRenderable.java b/src/main/java/com/rapidminer/gui/renderer/DefaultComponentRenderable.java
index 00b99ca72..05cb8fafd 100644
--- a/src/main/java/com/rapidminer/gui/renderer/DefaultComponentRenderable.java
+++ b/src/main/java/com/rapidminer/gui/renderer/DefaultComponentRenderable.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/DefaultComponentRenderer.java b/src/main/java/com/rapidminer/gui/renderer/DefaultComponentRenderer.java
index 0e8009e0f..aaa5c7a48 100644
--- a/src/main/java/com/rapidminer/gui/renderer/DefaultComponentRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/DefaultComponentRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/DefaultReadable.java b/src/main/java/com/rapidminer/gui/renderer/DefaultReadable.java
index 8505a957e..c2dc8f027 100644
--- a/src/main/java/com/rapidminer/gui/renderer/DefaultReadable.java
+++ b/src/main/java/com/rapidminer/gui/renderer/DefaultReadable.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/DefaultTextRenderer.java b/src/main/java/com/rapidminer/gui/renderer/DefaultTextRenderer.java
index f688221d8..edda1150b 100644
--- a/src/main/java/com/rapidminer/gui/renderer/DefaultTextRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/DefaultTextRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/NonGraphicalRenderer.java b/src/main/java/com/rapidminer/gui/renderer/NonGraphicalRenderer.java
index 7da0d4b17..857e07de6 100644
--- a/src/main/java/com/rapidminer/gui/renderer/NonGraphicalRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/NonGraphicalRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/Renderer.java b/src/main/java/com/rapidminer/gui/renderer/Renderer.java
index 01456ff5d..f8ded1733 100644
--- a/src/main/java/com/rapidminer/gui/renderer/Renderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/Renderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/RendererService.java b/src/main/java/com/rapidminer/gui/renderer/RendererService.java
index a0ee46cf2..97af63955 100644
--- a/src/main/java/com/rapidminer/gui/renderer/RendererService.java
+++ b/src/main/java/com/rapidminer/gui/renderer/RendererService.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -30,10 +30,8 @@
import java.util.Set;
import java.util.TreeSet;
import java.util.logging.Level;
-
import javax.swing.Icon;
import javax.swing.ImageIcon;
-import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
@@ -41,13 +39,16 @@
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
+import com.rapidminer.gui.tools.IconSize;
import com.rapidminer.gui.tools.SwingTools;
+import com.rapidminer.io.process.XMLTools;
import com.rapidminer.operator.IOObject;
import com.rapidminer.tools.DominatingClassFinder;
import com.rapidminer.tools.I18N;
import com.rapidminer.tools.LogService;
import com.rapidminer.tools.Tools;
import com.rapidminer.tools.WebServiceTools;
+import com.rapidminer.tools.XMLParserException;
/**
@@ -60,7 +61,7 @@
*/
public class RendererService {
- /** Used in {@link RendererService#class2IconMap}. */
+ /** Used in the icon maps */
private static class IconData {
private final String iconName;
@@ -80,7 +81,9 @@ public String getIconName() {
}
}
- private static final IconData ICON_DEFAULT = new IconData("data.png", SwingTools.createIcon("16/data.png"));
+ private static final IconData ICON_DEFAULT_16 = new IconData("data.png", SwingTools.createIcon("16/data.png"));
+ private static final IconData ICON_DEFAULT_24 = new IconData("data.png", SwingTools.createIcon("24/data.png"));
+ private static final IconData ICON_DEFAULT_48 = new IconData("data.png", SwingTools.createIcon("48/data.png"));
private static Set objectNames = new TreeSet<>();
@@ -102,7 +105,9 @@ public String getIconName() {
private static Map, String> class2NameMap = new HashMap<>();
- private static Map, IconData> class2IconMap = new HashMap<>();
+ private static Map, IconData> class2IconMap16x16 = new HashMap<>();
+ private static Map, IconData> class2IconMap24x24 = new HashMap<>();
+ private static Map, IconData> class2IconMap48x48 = new HashMap<>();
private static boolean isInitialized = false;
@@ -150,7 +155,7 @@ public static void init(String rendererFileName, InputStream in, ClassLoader cla
LogService.getRoot().log(Level.CONFIG, "com.rapidminer.gui.renderer.RendererService.loading_renderers",
rendererFileName);
try {
- Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(in);
+ Document document = XMLTools.createDocumentBuilder().parse(in);
Element ioObjectsElement = document.getDocumentElement();
if (ioObjectsElement.getTagName().equals("ioobjects")) {
NodeList ioObjectNodes = ioObjectsElement.getElementsByTagName("ioobject");
@@ -191,17 +196,17 @@ public static void init(String rendererFileName, InputStream in, ClassLoader cla
LogService.getRoot().log(Level.WARNING,
"com.rapidminer.gui.renderer.RendererService.initializing_io_object_description_tag_error");
}
- } catch (IOException e) {
+ } catch (XMLParserException e) {
LogService.getRoot().log(
Level.WARNING,
I18N.getMessage(LogService.getRoot().getResourceBundle(),
- "com.rapidminer.gui.renderer.RendererService.initializing_io_object_description_parsing_error",
- e), e);
- } catch (javax.xml.parsers.ParserConfigurationException e) {
+ "com.rapidminer.gui.renderer.RendererService.initializing_io_object_description_error", e), e);
+ } catch (IOException e) {
LogService.getRoot().log(
Level.WARNING,
I18N.getMessage(LogService.getRoot().getResourceBundle(),
- "com.rapidminer.gui.renderer.RendererService.initializing_io_object_description_error", e), e);
+ "com.rapidminer.gui.renderer.RendererService.initializing_io_object_description_parsing_error",
+ e), e);
} catch (SAXException e) {
LogService.getRoot().log(
Level.WARNING,
@@ -265,11 +270,22 @@ public static void registerRenderers(String reportableName, String className, bo
reportableMap.add(reportableName);
}
- // try to create icon
+ // try to create icons
if (iconName != null && !iconName.isEmpty()) {
+ // 16x16
ImageIcon icon = SwingTools.createIcon("16/" + iconName);
if (icon != null) {
- class2IconMap.put(clazz, new IconData(iconName, icon));
+ class2IconMap16x16.put(clazz, new IconData(iconName, icon));
+ }
+ // 24x24
+ icon = SwingTools.createIcon("24/" + iconName);
+ if (icon != null) {
+ class2IconMap24x24.put(clazz, new IconData(iconName, icon));
+ }
+ // 48x48
+ icon = SwingTools.createIcon("48/" + iconName);
+ if (icon != null) {
+ class2IconMap48x48.put(clazz, new IconData(iconName, icon));
}
}
@@ -364,35 +380,66 @@ public static Renderer getRenderer(String reportableName, String rendererName) {
/**
* This returns the icon registered for the given class or a default icon, if nothing has been
- * registered.
+ * registered. Returns size {@link IconSize#SMALL}.
*/
public static Icon getIcon(Class extends IOObject> objectClass) {
- return getIconData(objectClass).getIcon();
+ return getIconData(objectClass, IconSize.SMALL).getIcon();
+ }
+
+ /**
+ * This returns the icon registered for the given class or a default icon, if nothing has been
+ * registered. Returns the specified {@link IconSize}.
+ *
+ * @since 8.1
+ */
+ public static Icon getIcon(Class extends IOObject> objectClass, IconSize iconSize) {
+ return getIconData(objectClass, iconSize).getIcon();
}
/**
* This returns the icon name registered for the given class or a default icon, if nothing has
- * been registered.
+ * been registered. Returns size {@link IconSize#SMALL}.
*/
public static String getIconName(Class extends IOObject> objectClass) {
- return getIconData(objectClass).getIconName();
+ return getIconData(objectClass, IconSize.SMALL).getIconName();
}
- private static IconData getIconData(Class extends IOObject> objectClass) {
- if (objectClass == null) {
- return ICON_DEFAULT;
+ /**
+ * This returns the icon name registered for the given class or a default icon, if nothing has
+ * been registered. Returns the specified {@link IconSize}.
+ *
+ * @since 8.1
+ */
+ public static String getIconName(Class extends IOObject> objectClass, IconSize iconSize) {
+ return getIconData(objectClass, iconSize).getIconName();
+ }
+
+ private static IconData getIconData(Class extends IOObject> objectClass, IconSize iconSize) {
+ IconData icon = null;
+ Map, IconData> iconMap;
+ IconData defaultIcon;
+ switch (iconSize) {
+ case HUGE:
+ iconMap = class2IconMap48x48;
+ defaultIcon = ICON_DEFAULT_48;
+ break;
+ case LARGE:
+ iconMap = class2IconMap24x24;
+ defaultIcon = ICON_DEFAULT_24;
+ break;
+ case SMALL:
+ default:
+ iconMap = class2IconMap16x16;
+ defaultIcon = ICON_DEFAULT_16;
+ break;
}
- IconData icon = class2IconMap.get(objectClass);
- if (icon == null) {
- for (Entry, IconData> renderableClassEntry : class2IconMap.entrySet()) {
- if (renderableClassEntry.getKey().isAssignableFrom(objectClass)) {
- class2IconMap.put(objectClass, renderableClassEntry.getValue());
- return renderableClassEntry.getValue();
- }
+ if (objectClass != null) {
+ icon = iconMap.get(objectClass);
+ if (icon == null) {
+ icon = updateIconData(objectClass, iconMap);
}
- return ICON_DEFAULT;
}
- return icon;
+ return icon != null ? icon : defaultIcon;
}
/**
@@ -425,4 +472,24 @@ public static Renderer createRenderer(IOObject ioobject, String rendererName) {
public static boolean isInitialized() {
return isInitialized;
}
+
+ /**
+ * Try to find the icon of a superclass and set it as the new type icon.
+ *
+ * @return the icon or {@code null}
+ */
+ private static IconData updateIconData(Class extends IOObject> objectClass, Map, IconData> class2IconMap) {
+ IconData icon = null;
+ Map, IconData> clonedMap;
+ synchronized (class2IconMap) {
+ clonedMap = new HashMap<>(class2IconMap);
+ }
+ for (Entry, IconData> renderableClassEntry : clonedMap.entrySet()) {
+ if (renderableClassEntry.getKey().isAssignableFrom(objectClass)) {
+ class2IconMap.put(objectClass, renderableClassEntry.getValue());
+ icon = renderableClassEntry.getValue();
+ }
+ }
+ return icon;
+ }
}
diff --git a/src/main/java/com/rapidminer/gui/renderer/associations/GSPRenderer.java b/src/main/java/com/rapidminer/gui/renderer/associations/GSPRenderer.java
index 7c182d94d..5356d14ed 100644
--- a/src/main/java/com/rapidminer/gui/renderer/associations/GSPRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/associations/GSPRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/cluster/ClusterModelCentroidPlotRenderer.java b/src/main/java/com/rapidminer/gui/renderer/cluster/ClusterModelCentroidPlotRenderer.java
index f2d922374..b94ac3781 100644
--- a/src/main/java/com/rapidminer/gui/renderer/cluster/ClusterModelCentroidPlotRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/cluster/ClusterModelCentroidPlotRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/cluster/ClusterModelCentroidTableRenderer.java b/src/main/java/com/rapidminer/gui/renderer/cluster/ClusterModelCentroidTableRenderer.java
index 0c02a0b86..0163916df 100644
--- a/src/main/java/com/rapidminer/gui/renderer/cluster/ClusterModelCentroidTableRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/cluster/ClusterModelCentroidTableRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/cluster/ClusterModelDendogrammRenderer.java b/src/main/java/com/rapidminer/gui/renderer/cluster/ClusterModelDendogrammRenderer.java
index 2e747105e..0ecd0035d 100644
--- a/src/main/java/com/rapidminer/gui/renderer/cluster/ClusterModelDendogrammRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/cluster/ClusterModelDendogrammRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/cluster/ClusterModelFolderRenderer.java b/src/main/java/com/rapidminer/gui/renderer/cluster/ClusterModelFolderRenderer.java
index 78d4d187b..283be04b7 100644
--- a/src/main/java/com/rapidminer/gui/renderer/cluster/ClusterModelFolderRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/cluster/ClusterModelFolderRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/cluster/ClusterModelGraphRenderer.java b/src/main/java/com/rapidminer/gui/renderer/cluster/ClusterModelGraphRenderer.java
index 8aa5259f3..364f39ada 100644
--- a/src/main/java/com/rapidminer/gui/renderer/cluster/ClusterModelGraphRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/cluster/ClusterModelGraphRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/data/ExampleSetDataRenderer.java b/src/main/java/com/rapidminer/gui/renderer/data/ExampleSetDataRenderer.java
index 1978408a7..205ec8b0e 100644
--- a/src/main/java/com/rapidminer/gui/renderer/data/ExampleSetDataRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/data/ExampleSetDataRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/data/ExampleSetMetaDataRenderer.java b/src/main/java/com/rapidminer/gui/renderer/data/ExampleSetMetaDataRenderer.java
index cd74f1ba8..ffb8b9cc9 100644
--- a/src/main/java/com/rapidminer/gui/renderer/data/ExampleSetMetaDataRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/data/ExampleSetMetaDataRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/data/ExampleSetPlotRenderer.java b/src/main/java/com/rapidminer/gui/renderer/data/ExampleSetPlotRenderer.java
index 77fc528ef..02f21ca0f 100644
--- a/src/main/java/com/rapidminer/gui/renderer/data/ExampleSetPlotRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/data/ExampleSetPlotRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/itemsets/AssociationRulesGraphRenderer.java b/src/main/java/com/rapidminer/gui/renderer/itemsets/AssociationRulesGraphRenderer.java
index cf7feb308..b267a38fe 100644
--- a/src/main/java/com/rapidminer/gui/renderer/itemsets/AssociationRulesGraphRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/itemsets/AssociationRulesGraphRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/itemsets/AssociationRulesTableRenderer.java b/src/main/java/com/rapidminer/gui/renderer/itemsets/AssociationRulesTableRenderer.java
index 25370d733..e08a8966f 100644
--- a/src/main/java/com/rapidminer/gui/renderer/itemsets/AssociationRulesTableRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/itemsets/AssociationRulesTableRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/itemsets/FrequentItemSetsTableRenderer.java b/src/main/java/com/rapidminer/gui/renderer/itemsets/FrequentItemSetsTableRenderer.java
index 5c7e5c6af..e12e6caf8 100644
--- a/src/main/java/com/rapidminer/gui/renderer/itemsets/FrequentItemSetsTableRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/itemsets/FrequentItemSetsTableRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/math/NumericalMatrixPairwiseRenderer.java b/src/main/java/com/rapidminer/gui/renderer/math/NumericalMatrixPairwiseRenderer.java
index 0b1de3b55..7574712b8 100644
--- a/src/main/java/com/rapidminer/gui/renderer/math/NumericalMatrixPairwiseRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/math/NumericalMatrixPairwiseRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/math/NumericalMatrixPlotRenderer.java b/src/main/java/com/rapidminer/gui/renderer/math/NumericalMatrixPlotRenderer.java
index 257242f5a..476d97fb6 100644
--- a/src/main/java/com/rapidminer/gui/renderer/math/NumericalMatrixPlotRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/math/NumericalMatrixPlotRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/math/NumericalMatrixTableRenderer.java b/src/main/java/com/rapidminer/gui/renderer/math/NumericalMatrixTableRenderer.java
index 449f4636c..9d5d84a6f 100644
--- a/src/main/java/com/rapidminer/gui/renderer/math/NumericalMatrixTableRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/math/NumericalMatrixTableRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/math/RainflowMatrixPlotRenderer.java b/src/main/java/com/rapidminer/gui/renderer/math/RainflowMatrixPlotRenderer.java
index 6d5f5c113..c38a28fb0 100644
--- a/src/main/java/com/rapidminer/gui/renderer/math/RainflowMatrixPlotRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/math/RainflowMatrixPlotRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/math/RainflowMatrixTableRenderer.java b/src/main/java/com/rapidminer/gui/renderer/math/RainflowMatrixTableRenderer.java
index 43628db1f..51e5c1310 100644
--- a/src/main/java/com/rapidminer/gui/renderer/math/RainflowMatrixTableRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/math/RainflowMatrixTableRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/models/DelegationModelRenderer.java b/src/main/java/com/rapidminer/gui/renderer/models/DelegationModelRenderer.java
index ebcbf9844..15b93b10f 100644
--- a/src/main/java/com/rapidminer/gui/renderer/models/DelegationModelRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/models/DelegationModelRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/models/DistributionModelPlotRenderer.java b/src/main/java/com/rapidminer/gui/renderer/models/DistributionModelPlotRenderer.java
index ddd707717..d1da4063b 100644
--- a/src/main/java/com/rapidminer/gui/renderer/models/DistributionModelPlotRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/models/DistributionModelPlotRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/models/DistributionModelTableRenderer.java b/src/main/java/com/rapidminer/gui/renderer/models/DistributionModelTableRenderer.java
index de68b2784..c402c4ce1 100644
--- a/src/main/java/com/rapidminer/gui/renderer/models/DistributionModelTableRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/models/DistributionModelTableRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/models/EigenvectorModelEigenvalueRenderer.java b/src/main/java/com/rapidminer/gui/renderer/models/EigenvectorModelEigenvalueRenderer.java
index 86e3a8cea..8c3546727 100644
--- a/src/main/java/com/rapidminer/gui/renderer/models/EigenvectorModelEigenvalueRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/models/EigenvectorModelEigenvalueRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/models/EigenvectorModelEigenvectorRenderer.java b/src/main/java/com/rapidminer/gui/renderer/models/EigenvectorModelEigenvectorRenderer.java
index 87771858d..c4b68a822 100644
--- a/src/main/java/com/rapidminer/gui/renderer/models/EigenvectorModelEigenvectorRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/models/EigenvectorModelEigenvectorRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/models/EigenvectorModelVariancePlotRenderer.java b/src/main/java/com/rapidminer/gui/renderer/models/EigenvectorModelVariancePlotRenderer.java
index b424a5527..30ead276d 100644
--- a/src/main/java/com/rapidminer/gui/renderer/models/EigenvectorModelVariancePlotRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/models/EigenvectorModelVariancePlotRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/models/HyperModelWeightsRenderer.java b/src/main/java/com/rapidminer/gui/renderer/models/HyperModelWeightsRenderer.java
index 8fb22b845..345193f19 100644
--- a/src/main/java/com/rapidminer/gui/renderer/models/HyperModelWeightsRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/models/HyperModelWeightsRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/models/HyperplaneModelRenderer.java b/src/main/java/com/rapidminer/gui/renderer/models/HyperplaneModelRenderer.java
index 510faac75..e5fe9d21f 100644
--- a/src/main/java/com/rapidminer/gui/renderer/models/HyperplaneModelRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/models/HyperplaneModelRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/models/ImprovedNeuralNetModelRenderer.java b/src/main/java/com/rapidminer/gui/renderer/models/ImprovedNeuralNetModelRenderer.java
index 1aeb1faf8..5871f0a3e 100644
--- a/src/main/java/com/rapidminer/gui/renderer/models/ImprovedNeuralNetModelRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/models/ImprovedNeuralNetModelRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/models/KernelModelPlotRenderer.java b/src/main/java/com/rapidminer/gui/renderer/models/KernelModelPlotRenderer.java
index 2a012015b..3596a6647 100644
--- a/src/main/java/com/rapidminer/gui/renderer/models/KernelModelPlotRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/models/KernelModelPlotRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/models/KernelModelSupportVectorRenderer.java b/src/main/java/com/rapidminer/gui/renderer/models/KernelModelSupportVectorRenderer.java
index 38514f178..4d837eee4 100644
--- a/src/main/java/com/rapidminer/gui/renderer/models/KernelModelSupportVectorRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/models/KernelModelSupportVectorRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/models/KernelModelWeightsRenderer.java b/src/main/java/com/rapidminer/gui/renderer/models/KernelModelWeightsRenderer.java
index 2eeccde52..a397785af 100644
--- a/src/main/java/com/rapidminer/gui/renderer/models/KernelModelWeightsRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/models/KernelModelWeightsRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/models/LinearRegressionModelTableRenderer.java b/src/main/java/com/rapidminer/gui/renderer/models/LinearRegressionModelTableRenderer.java
index eaa373bb3..ff1a9385e 100644
--- a/src/main/java/com/rapidminer/gui/renderer/models/LinearRegressionModelTableRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/models/LinearRegressionModelTableRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/models/LocalPolynomialRegressionModelPlotRenderer.java b/src/main/java/com/rapidminer/gui/renderer/models/LocalPolynomialRegressionModelPlotRenderer.java
index edad4df98..963b16ca4 100644
--- a/src/main/java/com/rapidminer/gui/renderer/models/LocalPolynomialRegressionModelPlotRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/models/LocalPolynomialRegressionModelPlotRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/models/LocalPolynomialRegressionModelTableRenderer.java b/src/main/java/com/rapidminer/gui/renderer/models/LocalPolynomialRegressionModelTableRenderer.java
index 1f2ff841e..a9a5d84c4 100644
--- a/src/main/java/com/rapidminer/gui/renderer/models/LocalPolynomialRegressionModelTableRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/models/LocalPolynomialRegressionModelTableRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/models/MetaModelRenderer.java b/src/main/java/com/rapidminer/gui/renderer/models/MetaModelRenderer.java
index 8a9b92df7..727c0918f 100644
--- a/src/main/java/com/rapidminer/gui/renderer/models/MetaModelRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/models/MetaModelRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/models/RuleSetRenderer.java b/src/main/java/com/rapidminer/gui/renderer/models/RuleSetRenderer.java
index 59890da27..825943310 100644
--- a/src/main/java/com/rapidminer/gui/renderer/models/RuleSetRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/models/RuleSetRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/models/SVDModelCumulativePlotRenderer.java b/src/main/java/com/rapidminer/gui/renderer/models/SVDModelCumulativePlotRenderer.java
index 29407cdc9..f9950f8a7 100644
--- a/src/main/java/com/rapidminer/gui/renderer/models/SVDModelCumulativePlotRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/models/SVDModelCumulativePlotRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/models/SVDModelValueRenderer.java b/src/main/java/com/rapidminer/gui/renderer/models/SVDModelValueRenderer.java
index 918b8c0c9..b27f8fe58 100644
--- a/src/main/java/com/rapidminer/gui/renderer/models/SVDModelValueRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/models/SVDModelValueRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/models/SVDModelVectorRenderer.java b/src/main/java/com/rapidminer/gui/renderer/models/SVDModelVectorRenderer.java
index 9df64da27..068f4a7a8 100644
--- a/src/main/java/com/rapidminer/gui/renderer/models/SVDModelVectorRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/models/SVDModelVectorRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/models/TreeModelGraphRenderer.java b/src/main/java/com/rapidminer/gui/renderer/models/TreeModelGraphRenderer.java
index ec3bc4cb7..e647ef29b 100644
--- a/src/main/java/com/rapidminer/gui/renderer/models/TreeModelGraphRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/models/TreeModelGraphRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/performance/AnovaCalculatorViewerRenderer.java b/src/main/java/com/rapidminer/gui/renderer/performance/AnovaCalculatorViewerRenderer.java
index cbf72fe5e..84114fda9 100644
--- a/src/main/java/com/rapidminer/gui/renderer/performance/AnovaCalculatorViewerRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/performance/AnovaCalculatorViewerRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/performance/AreaUnderCurveRenderer.java b/src/main/java/com/rapidminer/gui/renderer/performance/AreaUnderCurveRenderer.java
index 150140e5b..2817d924e 100644
--- a/src/main/java/com/rapidminer/gui/renderer/performance/AreaUnderCurveRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/performance/AreaUnderCurveRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/performance/BinaryClassificationPerformanceRenderer.java b/src/main/java/com/rapidminer/gui/renderer/performance/BinaryClassificationPerformanceRenderer.java
index 4cb06b2ef..3c0521279 100644
--- a/src/main/java/com/rapidminer/gui/renderer/performance/BinaryClassificationPerformanceRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/performance/BinaryClassificationPerformanceRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/performance/MultiClassificationPerformanceRenderer.java b/src/main/java/com/rapidminer/gui/renderer/performance/MultiClassificationPerformanceRenderer.java
index 0a7ca87c4..425e0f54a 100644
--- a/src/main/java/com/rapidminer/gui/renderer/performance/MultiClassificationPerformanceRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/performance/MultiClassificationPerformanceRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/performance/PerformanceVectorRenderer.java b/src/main/java/com/rapidminer/gui/renderer/performance/PerformanceVectorRenderer.java
index 30eef9e58..9ca5632fd 100644
--- a/src/main/java/com/rapidminer/gui/renderer/performance/PerformanceVectorRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/performance/PerformanceVectorRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/performance/ROCComparisonRenderer.java b/src/main/java/com/rapidminer/gui/renderer/performance/ROCComparisonRenderer.java
index 46d784a2e..fe35f7ed8 100644
--- a/src/main/java/com/rapidminer/gui/renderer/performance/ROCComparisonRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/performance/ROCComparisonRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/performance/TTestSignificanceTestRenderer.java b/src/main/java/com/rapidminer/gui/renderer/performance/TTestSignificanceTestRenderer.java
index 2d3a94a3d..60aa36693 100644
--- a/src/main/java/com/rapidminer/gui/renderer/performance/TTestSignificanceTestRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/performance/TTestSignificanceTestRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/performance/WeightedMultiClassPerformanceRenderer.java b/src/main/java/com/rapidminer/gui/renderer/performance/WeightedMultiClassPerformanceRenderer.java
index 75b96a967..07b59f0dd 100644
--- a/src/main/java/com/rapidminer/gui/renderer/performance/WeightedMultiClassPerformanceRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/performance/WeightedMultiClassPerformanceRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/similarity/SimilarityGraphRenderer.java b/src/main/java/com/rapidminer/gui/renderer/similarity/SimilarityGraphRenderer.java
index 74986d58b..08d7d4555 100644
--- a/src/main/java/com/rapidminer/gui/renderer/similarity/SimilarityGraphRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/similarity/SimilarityGraphRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/similarity/SimilarityHistogramRenderer.java b/src/main/java/com/rapidminer/gui/renderer/similarity/SimilarityHistogramRenderer.java
index 475db83cd..ad503a781 100644
--- a/src/main/java/com/rapidminer/gui/renderer/similarity/SimilarityHistogramRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/similarity/SimilarityHistogramRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/similarity/SimilarityKDistanceRenderer.java b/src/main/java/com/rapidminer/gui/renderer/similarity/SimilarityKDistanceRenderer.java
index 944ceff9d..1e526080e 100644
--- a/src/main/java/com/rapidminer/gui/renderer/similarity/SimilarityKDistanceRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/similarity/SimilarityKDistanceRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/similarity/SimilarityTableRenderer.java b/src/main/java/com/rapidminer/gui/renderer/similarity/SimilarityTableRenderer.java
index 0107a46b9..213d744c0 100644
--- a/src/main/java/com/rapidminer/gui/renderer/similarity/SimilarityTableRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/similarity/SimilarityTableRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/visualization/AnovaMatrixRenderer.java b/src/main/java/com/rapidminer/gui/renderer/visualization/AnovaMatrixRenderer.java
index e7bb7da82..d1145f6ca 100644
--- a/src/main/java/com/rapidminer/gui/renderer/visualization/AnovaMatrixRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/visualization/AnovaMatrixRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/visualization/LiftChartRenderer.java b/src/main/java/com/rapidminer/gui/renderer/visualization/LiftChartRenderer.java
index 581a027b3..0e8746c79 100644
--- a/src/main/java/com/rapidminer/gui/renderer/visualization/LiftChartRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/visualization/LiftChartRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/visualization/SOMModelVisualizationRenderer.java b/src/main/java/com/rapidminer/gui/renderer/visualization/SOMModelVisualizationRenderer.java
index 7582be336..498b57fcd 100644
--- a/src/main/java/com/rapidminer/gui/renderer/visualization/SOMModelVisualizationRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/visualization/SOMModelVisualizationRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/visualization/TransitionGraphRenderer.java b/src/main/java/com/rapidminer/gui/renderer/visualization/TransitionGraphRenderer.java
index 89734b341..f5386a628 100644
--- a/src/main/java/com/rapidminer/gui/renderer/visualization/TransitionGraphRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/visualization/TransitionGraphRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/weights/AttributeWeightsPlotRenderer.java b/src/main/java/com/rapidminer/gui/renderer/weights/AttributeWeightsPlotRenderer.java
index f787f026e..40da39626 100644
--- a/src/main/java/com/rapidminer/gui/renderer/weights/AttributeWeightsPlotRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/weights/AttributeWeightsPlotRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/renderer/weights/AttributeWeightsTableRenderer.java b/src/main/java/com/rapidminer/gui/renderer/weights/AttributeWeightsTableRenderer.java
index 68e9940d2..4eb80832e 100644
--- a/src/main/java/com/rapidminer/gui/renderer/weights/AttributeWeightsTableRenderer.java
+++ b/src/main/java/com/rapidminer/gui/renderer/weights/AttributeWeightsTableRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/safemode/SafeMode.java b/src/main/java/com/rapidminer/gui/safemode/SafeMode.java
index 28d6ac2b3..05ed2a191 100644
--- a/src/main/java/com/rapidminer/gui/safemode/SafeMode.java
+++ b/src/main/java/com/rapidminer/gui/safemode/SafeMode.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/safemode/SafeModeDialog.java b/src/main/java/com/rapidminer/gui/safemode/SafeModeDialog.java
index c83d751bd..092eef512 100644
--- a/src/main/java/com/rapidminer/gui/safemode/SafeModeDialog.java
+++ b/src/main/java/com/rapidminer/gui/safemode/SafeModeDialog.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/search/GlobalSearchCategoryPanel.java b/src/main/java/com/rapidminer/gui/search/GlobalSearchCategoryPanel.java
new file mode 100644
index 000000000..41e0de94e
--- /dev/null
+++ b/src/main/java/com/rapidminer/gui/search/GlobalSearchCategoryPanel.java
@@ -0,0 +1,348 @@
+/**
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
+ *
+ * Complete list of developers available at our web site:
+ *
+ * http://rapidminer.com
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the
+ * GNU Affero General Public License as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * 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/.
+ */
+package com.rapidminer.gui.search;
+
+import java.awt.BorderLayout;
+import java.awt.Color;
+import java.awt.Cursor;
+import java.awt.Dimension;
+import java.awt.Font;
+import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
+import java.awt.dnd.DnDConstants;
+import java.awt.dnd.DragGestureListener;
+import java.awt.dnd.DragSource;
+import java.awt.event.ActionEvent;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseListener;
+import java.util.List;
+import java.util.logging.Level;
+import javax.swing.BorderFactory;
+import javax.swing.JComponent;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.SwingConstants;
+import javax.swing.SwingUtilities;
+import javax.swing.border.Border;
+import javax.swing.event.EventListenerList;
+
+import com.rapidminer.gui.look.Colors;
+import com.rapidminer.gui.search.event.GlobalSearchInteractionEvent;
+import com.rapidminer.gui.search.event.GlobalSearchInteractionEvent.InteractionEvent;
+import com.rapidminer.gui.search.event.GlobalSearchInteractionListener;
+import com.rapidminer.gui.search.model.GlobalSearchRow;
+import com.rapidminer.gui.tools.ResourceAction;
+import com.rapidminer.gui.tools.components.LinkLocalButton;
+import com.rapidminer.search.GlobalSearchCategory;
+import com.rapidminer.search.GlobalSearchResult;
+import com.rapidminer.search.GlobalSearchUtilities;
+import com.rapidminer.tools.LogService;
+import com.rapidminer.tools.Tools;
+import com.rapidminer.tools.usagestats.ActionStatisticsCollector;
+
+
+/**
+ * Panel visualizing a single {@link GlobalSearchCategory}.
+ *
+ * @author Marco Boeck
+ * @since 8.1
+ */
+class GlobalSearchCategoryPanel extends JPanel {
+
+
+ private static final Color BORDER_COLOR = Colors.BUTTON_BORDER_DISABLED;
+ private static final Border TOP_BORDER = BorderFactory.createMatteBorder(1, 0, 0, 0, BORDER_COLOR);
+ private static final Border DIVIDER_BORDER = BorderFactory.createMatteBorder(0, 1, 0, 0, BORDER_COLOR);
+ private static final Border CATEGORY_LABEL_EMPTY_BORDER = BorderFactory.createEmptyBorder(10, 10, 10, 10);
+ private static final Border CATEGORY_COMPONENT_EMPTY_BORDER = BorderFactory.createEmptyBorder(4, 5, 4, 0);
+ private static final Dimension I18N_NAME_SIZE = new Dimension(100, 30);
+
+ /** event listener for this panel */
+ private final EventListenerList eventListener;
+
+ private String categoryId;
+ private JPanel contentPanel;
+
+ private final transient GlobalSearchController controller;
+
+
+ /**
+ * Create the panel displaying results for a global search category.
+ *
+ * @param category
+ * the category for which this panel is
+ * @param controller
+ * the controller instance for UI manipulation
+ * @throws IllegalArgumentException
+ * if arguments are {@code null} or invalid; if no GUI provider is registered for the given category
+ */
+ protected GlobalSearchCategoryPanel(final GlobalSearchCategory category, final GlobalSearchController controller) {
+ if (category == null || category.getCategoryId() == null) {
+ throw new IllegalArgumentException("category and its ID must not be null!");
+ }
+ this.categoryId = category.getCategoryId();
+ GlobalSearchableGUIProvider provider = GlobalSearchGUIRegistry.INSTANCE.getGUIProviderForSearchCategoryById(categoryId);
+ if (provider == null) {
+ throw new IllegalArgumentException("GlobalSearchableGUIProvider must not be null for category " + categoryId + "!");
+ }
+
+ this.controller = controller;
+ this.eventListener = new EventListenerList();
+
+ initGUI(provider);
+ }
+
+ /**
+ * Override to help debugging.
+ */
+ @Override
+ public String toString() {
+ return "GSCatPanel: " + categoryId + " - #children: " + contentPanel.getComponentCount();
+ }
+
+ /**
+ * Adds a {@link GlobalSearchInteractionListener} which will be informed of all user interactions with {@link GlobalSearchRow}s.
+ *
+ * @param listener
+ * the listener instance to add
+ */
+ protected void registerEventListener(final GlobalSearchInteractionListener listener) {
+ if (listener == null) {
+ throw new IllegalArgumentException("listener must not be null!");
+ }
+ eventListener.add(GlobalSearchInteractionListener.class, listener);
+ }
+
+ /**
+ * Removes the {@link GlobalSearchInteractionListener} from this model.
+ *
+ * @param listener
+ * the listener instance to remove
+ */
+ protected void removeEventListener(final GlobalSearchInteractionListener listener) {
+ if (listener == null) {
+ throw new IllegalArgumentException("listener must not be null!");
+ }
+ eventListener.remove(GlobalSearchInteractionListener.class, listener);
+ }
+
+ /**
+ * Sets the given rows as the already displayed results. Overwrites potentially displayed results.
+ *
+ * @param rows
+ * the rows to display
+ * @param result
+ * the search result instance
+ */
+ protected void setSearchRows(final List rows, final GlobalSearchResult result) {
+ contentPanel.removeAll();
+
+ GridBagConstraints gbc = new GridBagConstraints();
+ gbc.gridx = 0;
+ gbc.gridy = 0;
+ gbc.weightx = 1.0d;
+ gbc.fill = GridBagConstraints.HORIZONTAL;
+ gbc.anchor = GridBagConstraints.WEST;
+
+ for (GlobalSearchRow row : rows) {
+ gbc.gridy += 1;
+ contentPanel.add(createUI(row), gbc);
+ }
+
+ long deltaDisplayedResultsVsMaxResults = result.getPotentialNumberOfResults() - rows.size();
+ if (deltaDisplayedResultsVsMaxResults > 0) {
+ gbc.gridy += 1;
+
+ String remainingNumber = Tools.formatIntegerIfPossible(deltaDisplayedResultsVsMaxResults, 0, true);
+ LinkLocalButton loadMoreButton = new LinkLocalButton(new ResourceAction("global_search.load_more", remainingNumber) {
+
+ @Override
+ public void loggedActionPerformed(ActionEvent e) {
+ controller.loadMoreRows(result, categoryId);
+ }
+ });
+ contentPanel.add(loadMoreButton, gbc);
+ }
+
+ // fill at bottom so components are at top
+ if (!rows.isEmpty()) {
+ gbc.gridy += 1;
+ gbc.weighty = 1.0d;
+ gbc.fill = GridBagConstraints.VERTICAL;
+ contentPanel.add(new JLabel(), gbc);
+ }
+ }
+
+ /**
+ * Returns if any search results are displayed in this category panel or if a search is pending.
+ *
+ * @return {@code true} if there are currently search results displayed or it is pending; {@code false} otherwise
+ */
+ protected boolean hasResults() {
+ return contentPanel.getComponentCount() > 0;
+ }
+
+ /**
+ * Init the GUI.
+ *
+ * @param provider
+ * the provider instance, must not be {@code null}
+ */
+ private void initGUI(final GlobalSearchableGUIProvider provider) {
+ setLayout(new GridBagLayout());
+ GridBagConstraints gbc = new GridBagConstraints();
+ setOpaque(false);
+ setBorder(TOP_BORDER);
+
+ JLabel i18nName = new JLabel();
+ i18nName.setBackground(Colors.WINDOW_BACKGROUND);
+ i18nName.setForeground(Color.GRAY);
+ i18nName.setOpaque(true);
+ i18nName.setVerticalAlignment(SwingConstants.TOP);
+ i18nName.setHorizontalAlignment(SwingConstants.LEFT);
+ i18nName.setFont(i18nName.getFont().deriveFont(Font.BOLD));
+ i18nName.setText(provider.getI18nNameForSearchable());
+ i18nName.setMinimumSize(I18N_NAME_SIZE);
+ i18nName.setPreferredSize(I18N_NAME_SIZE);
+ i18nName.setMaximumSize(I18N_NAME_SIZE);
+ i18nName.setBorder(CATEGORY_LABEL_EMPTY_BORDER);
+
+ gbc.gridx = 0;
+ gbc.gridy = 0;
+ gbc.weighty = 1.0d;
+ gbc.fill = GridBagConstraints.VERTICAL;
+ add(i18nName, gbc);
+
+ contentPanel = new JPanel();
+ contentPanel.setLayout(new GridBagLayout());
+ contentPanel.setBorder(DIVIDER_BORDER);
+ contentPanel.setBackground(Colors.WHITE);
+
+ gbc.gridx = 1;
+ gbc.weightx = 1.0d;
+ gbc.weighty = 1.0d;
+ gbc.fill = GridBagConstraints.BOTH;
+ add(contentPanel, gbc);
+ }
+
+ /**
+ * Creates the ui component for the given document. If the document cannot be mapped to any registered {@link
+ * GlobalSearchableGUIProvider}, it will be silently skipped and this returns {@code null}.
+ *
+ * @param row
+ * the search row instance for which to create the UI
+ * @return the component, never {@code null}
+ */
+ private JComponent createUI(final GlobalSearchRow row) {
+ final JPanel wrapperPanel = new JPanel();
+ wrapperPanel.setOpaque(false);
+ wrapperPanel.setBackground(Colors.TEXT_HIGHLIGHT_BACKGROUND);
+ wrapperPanel.setLayout(new BorderLayout());
+
+ final GlobalSearchableGUIProvider provider = GlobalSearchGUIRegistry.INSTANCE.getGUIProviderForSearchCategoryById(categoryId);
+ JComponent component = provider != null ? provider.getGUIListComponentForDocument(row.getDoc(), row.getBestFragments()) : null;
+ if (provider == null || component == null) {
+ LogService.getRoot().log(Level.SEVERE, "com.rapidminer.gui.search.globalsearchdialog.no_gui_component", categoryId);
+ // to avoid an empty category, provide a very basic UI that only shows the name of a row
+ return new JLabel(row.getDoc().get(GlobalSearchUtilities.FIELD_NAME));
+ }
+ if (component.getPreferredSize().getHeight() > GlobalSearchGUIUtilities.MAX_HEIGHT) {
+ LogService.getRoot().log(Level.SEVERE, "com.rapidminer.gui.search.globalsearchdialog.gui_component_too_high", categoryId);
+ // component does not obey height limit of 40px according to JavaDoc. Provide a very basic UI that only shows the name of a row
+ component = new JLabel(row.getDoc().get(GlobalSearchUtilities.FIELD_NAME));
+ }
+ if (component.isOpaque()) {
+ LogService.getRoot().log(Level.SEVERE, "com.rapidminer.gui.search.globalsearchdialog.gui_component_opaque", categoryId);
+ // component is opaque which is also forbidden according to JavaDoc. Provide a very basic UI that only shows the name of a row
+ component = new JLabel(row.getDoc().get(GlobalSearchUtilities.FIELD_NAME));
+ }
+ component.setBorder(CATEGORY_COMPONENT_EMPTY_BORDER);
+ wrapperPanel.add(component, BorderLayout.CENTER);
+
+ // add mouse listener for hovering and activation
+ MouseListener activationMouseListener = new MouseAdapter() {
+ @Override
+ public void mousePressed(MouseEvent e) {
+ if (!SwingUtilities.isLeftMouseButton(e) || e.getClickCount() != 2) {
+ return;
+ }
+
+ GlobalSearchableGUIProvider.Veto providerVeto = new GlobalSearchableGUIProvider.Veto();
+ provider.searchResultTriggered(row.getDoc(), providerVeto);
+ // only fire interaction if provider did not veto it
+ if (!providerVeto.isVeto()) {
+ ActionStatisticsCollector.getInstance().logGlobalSearchAction(controller.getLastQuery(), categoryId, row.getDoc().getField(GlobalSearchUtilities.FIELD_NAME).stringValue());
+
+ fireInteraction(InteractionEvent.RESULT_ACTIVATED, row);
+
+ wrapperPanel.setOpaque(false);
+ wrapperPanel.repaint();
+ }
+ }
+
+ @Override
+ public void mouseEntered(MouseEvent e) {
+ wrapperPanel.setOpaque(true);
+ wrapperPanel.repaint();
+
+ provider.searchResultBrowsed(row.getDoc());
+ fireInteraction(InteractionEvent.RESULT_BROWSED, row);
+ }
+
+ @Override
+ public void mouseExited(MouseEvent e) {
+ wrapperPanel.setOpaque(false);
+ wrapperPanel.repaint();
+ }
+ };
+ component.addMouseListener(activationMouseListener);
+ component.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
+
+ // add drag&drop support if applicable
+ if (provider.isDragAndDropSupported(row.getDoc())) {
+ DragGestureListener dragSupport = provider.getDragAndDropSupport(row.getDoc());
+ if (dragSupport != null) {
+ DragSource.getDefaultDragSource().createDefaultDragGestureRecognizer(component, DnDConstants.ACTION_MOVE, dragSupport);
+ } else {
+ LogService.getRoot().log(Level.WARNING, "com.rapidminer.gui.search.globalsearchdialog.missing_drag_support", categoryId);
+ }
+ }
+
+
+ return wrapperPanel;
+ }
+
+ /**
+ * Fires the given {@link InteractionEvent}.
+ *
+ * @param type
+ * the type of the event
+ * @param row
+ * the row with which the interaction happened
+ */
+ private void fireInteraction(final InteractionEvent type, final GlobalSearchRow row) {
+ // Notify the listeners
+ for (GlobalSearchInteractionListener listener : eventListener.getListeners(GlobalSearchInteractionListener.class)) {
+ GlobalSearchInteractionEvent e = new GlobalSearchInteractionEvent(type, row);
+ listener.interaction(e);
+ }
+ }
+
+}
diff --git a/src/main/java/com/rapidminer/gui/search/GlobalSearchController.java b/src/main/java/com/rapidminer/gui/search/GlobalSearchController.java
new file mode 100644
index 000000000..963d47a74
--- /dev/null
+++ b/src/main/java/com/rapidminer/gui/search/GlobalSearchController.java
@@ -0,0 +1,259 @@
+/**
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
+ *
+ * Complete list of developers available at our web site:
+ *
+ * http://rapidminer.com
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the
+ * GNU Affero General Public License as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * 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/.
+ */
+package com.rapidminer.gui.search;
+
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.atomic.AtomicInteger;
+import javax.swing.SwingWorker;
+import javax.swing.Timer;
+
+import org.apache.lucene.queryparser.classic.ParseException;
+import org.apache.lucene.search.ScoreDoc;
+
+import com.rapidminer.gui.search.model.GlobalSearchModel;
+import com.rapidminer.search.GlobalSearchCategory;
+import com.rapidminer.search.GlobalSearchRegistry;
+import com.rapidminer.search.GlobalSearchResult;
+import com.rapidminer.search.GlobalSearchResultBuilder;
+import com.rapidminer.tools.I18N;
+import com.rapidminer.tools.usagestats.ActionStatisticsCollector;
+
+
+/**
+ * Controller for the {@link GlobalSearchDialog} and {@link GlobalSearchPanel}.
+ *
+ * @author Marco Boeck
+ * @since 8.1
+ */
+final class GlobalSearchController {
+
+ /** number of search results that are displayed by default per category if all categories are searched */
+ private static final int NUMBER_OF_RESULTS_ALL_CATS = 3;
+
+ /** number of search results that are displayed by default if only a single category is searched */
+ private static final int NUMBER_OF_RESULTS_SINGLE_CAT = 10;
+
+ private final GlobalSearchModel model;
+ private final GlobalSearchPanel searchPanel;
+
+ private String lastQuery;
+ private String lastCategoryFilter;
+
+ /** counts the number of global searches. Always incrementing when a new search is triggered */
+ private final AtomicInteger searchCounter;
+
+
+ /**
+ * Creates a new controller instance for the given panel and model instances.
+ *
+ * @param searchPanel
+ * the search panel instance
+ * @param model
+ * the model instance
+ */
+ GlobalSearchController(final GlobalSearchPanel searchPanel, final GlobalSearchModel model) {
+ this.model = model;
+ this.searchPanel = searchPanel;
+ if (model == null) {
+ throw new IllegalArgumentException("model must not be null!");
+ }
+
+ this.searchCounter = new AtomicInteger(0);
+ }
+
+ /**
+ * Handles loading more results (if there are any) in a {@link SwingWorker}.
+ *
+ * @param previousResult
+ * the results of the already found results for this category
+ * @param categoryId
+ * the category to append to
+ */
+ protected void loadMoreRows(final GlobalSearchResult previousResult, final String categoryId) {
+ // if user already clicked load more rows, don't do anything
+ if (model.isPending(categoryId)) {
+ return;
+ }
+
+ searchOrAppendForCategory(previousResult.getLastResult(), lastQuery, categoryId, lastCategoryFilter != null ? NUMBER_OF_RESULTS_SINGLE_CAT : NUMBER_OF_RESULTS_ALL_CATS);
+ }
+
+
+ /**
+ * Handles searching in a {@link SwingWorker}.
+ *
+ * @param query
+ * the search query entered by the user
+ * @param categoryFilter
+ * the category filter or {@code null} if all categories are to be searched
+ */
+ protected void handleSearch(final String query, final String categoryFilter) {
+ if (query == null || query.trim().isEmpty()) {
+ searchPanel.hideComponents();
+ searchPanel.requestFocusInWindow();
+ return;
+ }
+ // should not happen unless Global Search initialization failed completely
+ if (GlobalSearchRegistry.INSTANCE.getAllSearchCategories().isEmpty()) {
+ model.setError(I18N.getGUIMessage("gui.dialog.global_search.no_categories.label"));
+ return;
+ }
+
+ lastQuery = query;
+ lastCategoryFilter = categoryFilter;
+
+ // count new search
+ searchCounter.incrementAndGet();
+
+ if (categoryFilter != null) {
+ searchOrAppendForCategory(null, query, categoryFilter, NUMBER_OF_RESULTS_SINGLE_CAT);
+ } else {
+ // no filter, search all -> one search per category for easy grouping and concurrency
+ for (GlobalSearchCategory category : GlobalSearchRegistry.INSTANCE.getAllSearchCategories()) {
+ searchOrAppendForCategory(null, query, category.getCategoryId(), NUMBER_OF_RESULTS_ALL_CATS);
+ }
+ }
+ }
+
+ /**
+ * Toggles the search "All Studio" category button in the GlobalSearchPanel as if the user clicked it.
+ */
+ protected void searchAllCategories() {
+ searchPanel.searchAll();
+ }
+
+ /**
+ * Gets the last category filter.
+ *
+ * @return the category id or {@code null} if "All Studio" was last searched
+ */
+ protected String getLastCategoryFilter() {
+ return lastCategoryFilter;
+ }
+
+ /**
+ * Get the model backing the Global Search UI.
+ *
+ * @return the model, never {@code null}
+ */
+ protected GlobalSearchModel getModel() {
+ return model;
+ }
+
+ /**
+ * Searches in the given category or appends new search results to the given category.
+ *
+ * @param offset
+ * appends results found after this one. If {@code null}, it's treated as a new search
+ * @param query
+ * the query to search for
+ * @param categoryId
+ * the category in which to search
+ * @param resultNumberLimit
+ * the number of results per search
+ */
+ private void searchOrAppendForCategory(final ScoreDoc offset, final String query, final String categoryId, int resultNumberLimit) {
+ final int searchCountSnapshot = searchCounter.get();
+ SwingWorker worker = new SwingWorker() {
+
+ private Timer updateTimer;
+
+ @Override
+ protected GlobalSearchResult doInBackground() throws Exception {
+ model.setPending(categoryId, true);
+ GlobalSearchResultBuilder builder = new GlobalSearchResultBuilder(query.trim()).setMaxNumberOfResults(resultNumberLimit).setHighlightResult(true);
+ builder.setSearchCategories(GlobalSearchRegistry.INSTANCE.getSearchCategoryById(categoryId)).setSearchOffset(offset).setSimpleMode(true);
+ return builder.runSearch();
+ }
+
+ @Override
+ protected void done() {
+ // if another search has been started before this one could return its result, discard these results
+ if (searchCounter.get() > searchCountSnapshot) {
+ return;
+ }
+
+ try {
+ model.setPending(categoryId, false);
+ GlobalSearchResult result = get();
+ // no error when grabbing result? Good, search worked, reset error on model and provide results to it
+ model.setError(null);
+
+ if(updateTimer != null) {
+ updateTimer.stop();
+ }
+ updateTimer = new Timer(1000, e -> logSearch(result));
+ updateTimer.setRepeats(false);
+ updateTimer.start();
+
+ if (offset != null) {
+ model.appendResultForCategory(categoryId, result);
+ } else {
+ model.setResultForCategory(categoryId, result);
+ }
+ } catch (ExecutionException e) {
+ handleSearchError(e);
+ } catch (InterruptedException e) {
+ // don't care, but don't silently swallow it anyway
+ Thread.currentThread().interrupt();
+ }
+ }
+
+ /**
+ * Log the given result to the usage statistics.
+ *
+ * @param result from a search in the global search framework
+ */
+ private void logSearch(GlobalSearchResult result) {
+ if(result != null) {
+ String searchTerm = lastQuery;
+ long numResults = result.getPotentialNumberOfResults();
+ ActionStatisticsCollector.getInstance().logGlobalSearch(ActionStatisticsCollector.VALUE_TIMEOUT, searchTerm, categoryId, numResults);
+ }
+ }
+ };
+ worker.execute();
+ }
+
+ /**
+ * Handles the error when a {@link SwingWorker} fails while searching.
+ *
+ * @param e
+ * the exception of the SwingWorker
+ */
+ private void handleSearchError(ExecutionException e) {
+ String message = null;
+ Throwable cause = e.getCause();
+ if (cause instanceof ParseException) {
+ message = cause.getMessage() != null ? cause.getMessage() : cause.toString();
+ } else if (cause == null ){
+ message = e.getMessage();
+ }
+
+ model.clearAllCategories();
+ model.setError(message);
+ }
+
+ /**
+ * @return the latest executed search query
+ */
+ public String getLastQuery() {
+ return lastQuery;
+ }
+}
diff --git a/src/main/java/com/rapidminer/gui/search/GlobalSearchDialog.java b/src/main/java/com/rapidminer/gui/search/GlobalSearchDialog.java
new file mode 100644
index 000000000..89e8694df
--- /dev/null
+++ b/src/main/java/com/rapidminer/gui/search/GlobalSearchDialog.java
@@ -0,0 +1,515 @@
+/**
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
+ *
+ * Complete list of developers available at our web site:
+ *
+ * http://rapidminer.com
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General
+ * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any
+ * later version.
+ *
+ * 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/.
+ */
+package com.rapidminer.gui.search;
+
+import java.awt.BorderLayout;
+import java.awt.CardLayout;
+import java.awt.Color;
+import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
+import java.awt.Insets;
+import java.awt.Window;
+import java.awt.event.ActionEvent;
+import java.awt.event.WindowEvent;
+import java.awt.event.WindowFocusListener;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.logging.Level;
+import javax.swing.BorderFactory;
+import javax.swing.ImageIcon;
+import javax.swing.JDialog;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTextArea;
+import javax.swing.ScrollPaneConstants;
+import javax.swing.SwingConstants;
+import javax.swing.border.Border;
+
+import com.rapidminer.gui.look.Colors;
+import com.rapidminer.gui.search.event.GlobalSearchCategoryEvent;
+import com.rapidminer.gui.search.event.GlobalSearchEventListener;
+import com.rapidminer.gui.search.event.GlobalSearchInteractionListener;
+import com.rapidminer.gui.search.event.GlobalSearchModelEvent;
+import com.rapidminer.gui.search.model.GlobalSearchModel;
+import com.rapidminer.gui.tools.ExtendedJScrollPane;
+import com.rapidminer.gui.tools.ResourceAction;
+import com.rapidminer.gui.tools.SwingTools;
+import com.rapidminer.gui.tools.components.ExtendedCardLayout;
+import com.rapidminer.gui.tools.components.LinkLocalButton;
+import com.rapidminer.search.GlobalSearchCategory;
+import com.rapidminer.search.GlobalSearchRegistry;
+import com.rapidminer.search.GlobalSearchResult;
+import com.rapidminer.search.event.GlobalSearchRegistryEvent;
+import com.rapidminer.tools.I18N;
+import com.rapidminer.tools.LogService;
+
+
+/**
+ * Dialog that visualizes the Global Search results.
+ *
+ * @author Marco Boeck
+ * @since 8.1
+ */
+public class GlobalSearchDialog extends JDialog {
+
+ private static final ImageIcon INFORMATION_ICON = SwingTools.createIcon("24/information.png");
+
+ private static final Color ERROR_TEXT_COLOR = new Color(255, 63, 58);
+ private static final Color TOP_BORDER_COLOR = Colors.BUTTON_BORDER_DISABLED;
+ private static final Color SIDE_BORDER_COLOR = Colors.PANEL_BORDER;
+ private static final Border TOP_BORDER = BorderFactory.createMatteBorder(1, 0, 0, 0, TOP_BORDER_COLOR);
+ private static final Border SIDE_BORDER = BorderFactory.createMatteBorder(0, 1, 1, 1, SIDE_BORDER_COLOR);
+ private static final Border MAIN_EMPTY_BORDER = BorderFactory.createEmptyBorder(0, 0, 0, 2);
+ private static final String NO_ERROR_MESSAGE = " ";
+ private static final int FILLER_GRID_Y = 10_000;
+ private static final float FONT_SIZE_NO_RESULTS = 15f;
+
+ private static final Object CATEGORY_COMPONENT_LOCK = new Object();
+
+ private static final String CARD_ERROR = "card_error";
+ private static final String CARD_NO_RESULTS_GLOBALLY = "card_no_results_all";
+ private static final String CARD_NO_RESULTS_IN_CATEGORY = "card_no_results_category";
+ private static final String CARD_RESULTS = "card_results";
+
+
+ private final transient GlobalSearchModel model;
+ private final transient GlobalSearchController controller;
+
+ private JPanel rootPanel;
+ private CardLayout layout;
+
+ private JTextArea errorText;
+ private JPanel mainPanel;
+
+ private GridBagConstraints mainPanelGbc;
+
+ private Map categoryComponentMap;
+ private transient GlobalSearchInteractionListener interactionListener;
+
+
+ /**
+ * Creates a new dialog displaying the contents of the given {@link GlobalSearchModel}.
+ *
+ * @param owner
+ * the frame owner for the dialog
+ * @param controller
+ * the controller instance from which the model will be used
+ */
+ public GlobalSearchDialog(final Window owner, final GlobalSearchController controller) {
+ super(owner, I18N.getMessage(I18N.getGUIBundle(), "gui.dialog.global_search.title"), ModalityType.MODELESS);
+
+ this.controller = controller;
+ this.model = this.controller.getModel();
+ this.categoryComponentMap = new LinkedHashMap<>();
+
+ // add listener for model changes
+ model.registerEventListener(new GlobalSearchEventListener() {
+
+ @Override
+ public void modelChanged(final GlobalSearchModelEvent e) {
+ SwingTools.invokeLater(() -> {
+
+ handleModelChanged(e);
+
+ pack();
+ });
+ }
+
+ @Override
+ public void categoryChanged(final String categoryId, final GlobalSearchCategoryEvent e, final GlobalSearchResult result) {
+ SwingTools.invokeLater(() -> {
+
+ if (handleCategoryChanged(categoryId, e, result)) {
+ return;
+ }
+
+ pack();
+ });
+ }
+ });
+
+ // update UI based on registration/un-registration events
+ GlobalSearchRegistry.INSTANCE.addEventListener((e, category) -> {
+ if (e.getEventType() == GlobalSearchRegistryEvent.RegistrationEvent.SEARCH_CATEGORY_REGISTERED) {
+ addGUIForCategory(category);
+ } else if (e.getEventType() == GlobalSearchRegistryEvent.RegistrationEvent.SEARCH_CATEGORY_UNREGISTERED) {
+ removeGUIForCategory(category);
+ }
+ });
+
+ // hide dialog if user clicked on other UI element outside this dialog
+ addWindowFocusListener(new WindowFocusListener() {
+ @Override
+ public void windowGainedFocus(WindowEvent e) {
+ // ignore
+ }
+
+ @Override
+ public void windowLostFocus(WindowEvent e) {
+ GlobalSearchDialog.this.setVisible(false);
+ }
+ });
+
+ // hide this dialog if user activated search result
+ interactionListener = e -> {
+ switch (e.getEventType()) {
+ case RESULT_BROWSED:
+ // ignore
+ break;
+ case RESULT_ACTIVATED:
+ GlobalSearchDialog.this.setVisible(false);
+ break;
+ default:
+ // do nothing
+ }
+ };
+
+
+ initGUI();
+ }
+
+ /**
+ * Set up the GUI.
+ */
+ private void initGUI() {
+ setLocationRelativeTo(getOwner());
+ setUndecorated(true);
+
+ layout = new ExtendedCardLayout();
+ rootPanel = new JPanel();
+ rootPanel.setBackground(Colors.WINDOW_BACKGROUND);
+ rootPanel.setLayout(layout);
+ getRootPane().setBorder(SIDE_BORDER);
+
+ setupErrorGUI();
+ setupNoResultGloballyGUI();
+ setupNoResultCategoryGUI();
+ setupResultsGUI();
+
+ setLayout(new BorderLayout());
+ JScrollPane scrollPane = new ExtendedJScrollPane(rootPanel);
+ // no border and never a horizontal scrollbar. This will cut off a tiny portion of the UI but fuck horizontal scrollbars
+ scrollPane.setBorder(null);
+ scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
+
+ // if scrolled down, we need a border at top, otherwise there is no border between search panel and dialog
+ scrollPane.getVerticalScrollBar().addAdjustmentListener(e -> {
+ if (e.getValueIsAdjusting()) {
+ return;
+ }
+
+ if (scrollPane.getVerticalScrollBar().getValue() > scrollPane.getVerticalScrollBar().getMinimum()) {
+ scrollPane.setBorder(TOP_BORDER);
+ } else {
+ scrollPane.setBorder(null);
+ }
+ });
+ add(scrollPane, BorderLayout.CENTER);
+ }
+
+ /**
+ * Handles a model changed event for the Global Search model.
+ *
+ * @param e
+ * the event
+ */
+ private void handleModelChanged(final GlobalSearchModelEvent e) {
+ switch (e.getEventType()) {
+ case ERROR_STATUS_CHANGED:
+ String error = model.getError();
+ if (error != null) {
+ errorText.setText(error);
+ layout.show(rootPanel, CARD_ERROR);
+ } else {
+ errorText.setText(NO_ERROR_MESSAGE);
+ layout.show(rootPanel, CARD_RESULTS);
+ }
+ break;
+ case ALL_CATEGORIES_REMOVED:
+ synchronized (CATEGORY_COMPONENT_LOCK) {
+ // make all components invisible
+ for (Map.Entry entry : categoryComponentMap.entrySet()) {
+ if (entry.getValue() != null) {
+ entry.getValue().setVisible(false);
+ }
+ }
+
+ }
+ break;
+ default:
+ // do nothing
+ }
+ }
+
+ /**
+ * Handles a model changed event for the Global Search model.
+ *
+ * @param categoryId
+ * the category for which the event was fired
+ * @param e
+ * the event
+ * @param result
+ * the search result
+ * @return {@code true} if caller should return after this call; {@code false} otherwise
+ */
+ private boolean handleCategoryChanged(final String categoryId, final GlobalSearchCategoryEvent e, final GlobalSearchResult result) {
+ GlobalSearchCategoryPanel gsPanel;
+ // avoid ConcurrentModificationException if a category is registered while we iterate
+ synchronized (CATEGORY_COMPONENT_LOCK) {
+ gsPanel = categoryComponentMap.get(categoryId);
+ }
+
+ if (gsPanel == null) {
+ // try to build UI for next search, it should be registered by now
+ boolean success = addGUIForCategory(GlobalSearchRegistry.INSTANCE.getSearchCategoryById(categoryId));
+ if (success) {
+ // we built the UI now, so handle this event again
+ return handleCategoryChanged(categoryId, e, result);
+ } else {
+ // display no results if we still cannot create UI
+ if (model.getActiveCategories().isEmpty() && !model.isAnyCategoryPending()) {
+ displayNoResults();
+ }
+ return false;
+ }
+ }
+
+ switch (e.getEventType()) {
+ case CATEGORY_PENDING_STATUS_CHANGED:
+ // if something is set to pending, we don't care here. If no longer pending, the rest of the method is relevant though
+ if (model.isPending(categoryId)) {
+ return true;
+ }
+ break;
+ case CATEGORY_ROWS_CHANGED:
+ case CATEGORY_ROWS_APPENDED:
+ gsPanel.setSearchRows(model.getRowsForCategory(categoryId), result);
+ break;
+ default:
+ // do nothing
+ }
+
+ if (model.getActiveCategories().isEmpty() && !model.isAnyCategoryPending()) {
+ // if no search results whatsoever have been found, display special "no results" page
+ displayNoResults();
+ } else {
+ // either show or hide the category panels depending on whether they have results or not
+ gsPanel.setVisible(gsPanel.hasResults());
+ layout.show(rootPanel, CARD_RESULTS);
+ }
+ return false;
+ }
+
+ /**
+ * Sets up the GUI card responsible for displaying the actual search results to the user.
+ */
+ private void setupResultsGUI() {
+ mainPanel = new JPanel();
+ mainPanel.setLayout(new GridBagLayout());
+ mainPanel.setBorder(MAIN_EMPTY_BORDER);
+
+ mainPanelGbc = new GridBagConstraints();
+ mainPanelGbc.gridx = 0;
+ mainPanelGbc.gridy = 0;
+ mainPanelGbc.weightx = 1.0d;
+ mainPanelGbc.fill = GridBagConstraints.HORIZONTAL;
+ mainPanelGbc.anchor = GridBagConstraints.NORTH;
+
+ // add category panels now
+ List categories = GlobalSearchGUIUtilities.INSTANCE.sortCategories(GlobalSearchRegistry.INSTANCE.getAllSearchCategories());
+ for (GlobalSearchCategory category : categories) {
+ addGUIForCategory(category);
+ }
+
+ // filler at bottom so they are sitting nicely at the top
+ int previousGridY = mainPanelGbc.gridy;
+ mainPanelGbc.gridy = FILLER_GRID_Y;
+ mainPanelGbc.weighty = 1.0d;
+ mainPanelGbc.fill = GridBagConstraints.BOTH;
+ mainPanel.add(new JLabel(), mainPanelGbc);
+
+ // reset layout so later additions are above the filler
+ mainPanelGbc.gridy = previousGridY;
+ mainPanelGbc.weighty = 0.0d;
+ mainPanelGbc.fill = GridBagConstraints.NONE;
+
+ rootPanel.add(mainPanel, CARD_RESULTS);
+ }
+
+ /**
+ * Sets up the GUI card responsible for displaying no result information on a specific category search to the user.
+ */
+ private void setupNoResultCategoryGUI() {
+ JPanel noResultPanel = new JPanel();
+ noResultPanel.setLayout(new GridBagLayout());
+ GridBagConstraints gbc = new GridBagConstraints();
+
+ noResultPanel.setOpaque(false);
+ noResultPanel.setBorder(TOP_BORDER);
+
+ // no results label
+ JLabel noResults = new JLabel(I18N.getGUIMessage("gui.dialog.global_search.no_results.label"));
+ noResults.setIcon(INFORMATION_ICON);
+ noResults.setFont(noResults.getFont().deriveFont(FONT_SIZE_NO_RESULTS));
+ noResults.setHorizontalAlignment(SwingConstants.LEFT);
+ gbc.gridx = 0;
+ gbc.gridy = 0;
+ gbc.weightx = 0.0d;
+ gbc.weighty = 1.0d;
+ gbc.fill = GridBagConstraints.VERTICAL;
+ gbc.anchor = GridBagConstraints.WEST;
+ gbc.insets = new Insets(3, 10, 3, 0);
+ noResultPanel.add(noResults, gbc);
+
+ // filler in middle
+ gbc.gridx += 1;
+ gbc.weightx = 1.0d;
+ gbc.weighty = 1.0d;
+ gbc.fill = GridBagConstraints.BOTH;
+ gbc.insets = new Insets(0, 0, 0, 0);
+ noResultPanel.add(new JLabel(), gbc);
+
+ // "Try searching everywhere" button
+ LinkLocalButton searchAllButton = new LinkLocalButton(new ResourceAction("global_search.search_all_instead") {
+
+ @Override
+ public void loggedActionPerformed(ActionEvent e) {
+ controller.searchAllCategories();
+ }
+ });
+ gbc.gridx += 1;
+ gbc.gridy = 0;
+ gbc.weightx = 1.0d;
+ gbc.fill = GridBagConstraints.VERTICAL;
+ gbc.insets = new Insets(3, 0, 3, 5);
+ gbc.anchor = GridBagConstraints.EAST;
+ noResultPanel.add(searchAllButton, gbc);
+
+ rootPanel.add(noResultPanel, CARD_NO_RESULTS_IN_CATEGORY);
+ }
+
+ /**
+ * Sets up the GUI card responsible for displaying no result information on an "All Studio" search to the user.
+ */
+ private void setupNoResultGloballyGUI() {
+ JPanel noResultPanel = new JPanel();
+ noResultPanel.setLayout(new GridBagLayout());
+ GridBagConstraints gbc = new GridBagConstraints();
+
+ noResultPanel.setOpaque(false);
+ noResultPanel.setBorder(TOP_BORDER);
+
+ // no results label
+ JLabel noResults = new JLabel(I18N.getGUIMessage("gui.dialog.global_search.no_results.label"));
+ noResults.setIcon(INFORMATION_ICON);
+ noResults.setFont(noResults.getFont().deriveFont(FONT_SIZE_NO_RESULTS));
+ noResults.setHorizontalAlignment(SwingConstants.LEFT);
+ gbc.weightx = 1.0d;
+ gbc.weighty = 1.0d;
+ gbc.fill = GridBagConstraints.BOTH;
+ gbc.insets = new Insets(3, 10, 3, 10);
+ noResultPanel.add(noResults, gbc);
+
+ rootPanel.add(noResultPanel, CARD_NO_RESULTS_GLOBALLY);
+ }
+
+ /**
+ * Sets up the GUI card responsible for displaying error information to the user.
+ */
+ private void setupErrorGUI() {
+ JPanel errorPanel = new JPanel();
+ errorPanel.setLayout(new GridBagLayout());
+ errorPanel.setOpaque(false);
+ errorPanel.setBorder(TOP_BORDER);
+
+ errorText = new JTextArea();
+ errorText.setLineWrap(true);
+ errorText.setWrapStyleWord(true);
+ errorText.setForeground(ERROR_TEXT_COLOR);
+ errorText.setBackground(Colors.WINDOW_BACKGROUND);
+ errorText.setEditable(false);
+ errorText.setBorder(null);
+
+ GridBagConstraints gbc = new GridBagConstraints();
+ gbc.weightx = 1.0d;
+ gbc.weighty = 1.0d;
+ gbc.fill = GridBagConstraints.BOTH;
+ gbc.insets = new Insets(5, 5, 5, 5);
+ errorPanel.add(errorText, gbc);
+
+ rootPanel.add(errorPanel, CARD_ERROR);
+ }
+
+ /**
+ * Display the appropriate "No Results" card.
+ */
+ private void displayNoResults() {
+ if (controller.getLastCategoryFilter() != null) {
+ layout.show(rootPanel, CARD_NO_RESULTS_IN_CATEGORY);
+ } else {
+ layout.show(rootPanel, CARD_NO_RESULTS_GLOBALLY);
+ }
+ }
+
+ /**
+ * Creates the UI for the given category. Call when a category has been registered to the {@link GlobalSearchRegistry}.
+ *
+ * @param category
+ * the category for which the UI should be added
+ * @return {@code true} if the UI was successfully added; {@code false} otherwise
+ */
+ private boolean addGUIForCategory(final GlobalSearchCategory category) {
+ String categoryId = category.getCategoryId();
+ try {
+ GlobalSearchCategoryPanel catPanel = new GlobalSearchCategoryPanel(category, controller);
+ // close dialog if user clicked on a search result
+ catPanel.registerEventListener(interactionListener);
+ catPanel.setVisible(false);
+
+ mainPanelGbc.gridy += 1;
+ mainPanel.add(catPanel, mainPanelGbc);
+ synchronized (CATEGORY_COMPONENT_LOCK) {
+ categoryComponentMap.put(categoryId, catPanel);
+ }
+ return true;
+ } catch (IllegalArgumentException e) {
+ LogService.getRoot().log(Level.SEVERE, "com.rapidminer.gui.search.globalsearchdialog.no_gui_provider", categoryId);
+ return false;
+ }
+ }
+
+ /**
+ * Removes the UI for the given category. Call when a category has been unregistered from the {@link GlobalSearchRegistry}.
+ *
+ * @param category
+ * the category for which the UI should be removed
+ */
+ private void removeGUIForCategory(final GlobalSearchCategory category) {
+ synchronized (CATEGORY_COMPONENT_LOCK) {
+ GlobalSearchCategoryPanel removed = categoryComponentMap.remove(category.getCategoryId());
+ if (removed != null) {
+ removed.removeEventListener(interactionListener);
+ mainPanel.remove(removed);
+ }
+ }
+ }
+
+}
diff --git a/src/main/java/com/rapidminer/gui/search/GlobalSearchGUIRegistry.java b/src/main/java/com/rapidminer/gui/search/GlobalSearchGUIRegistry.java
new file mode 100644
index 000000000..42eb23774
--- /dev/null
+++ b/src/main/java/com/rapidminer/gui/search/GlobalSearchGUIRegistry.java
@@ -0,0 +1,116 @@
+/**
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
+ *
+ * Complete list of developers available at our web site:
+ *
+ * http://rapidminer.com
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the
+ * GNU Affero General Public License as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * 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/.
+ */
+package com.rapidminer.gui.search;
+
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.logging.Level;
+
+import com.rapidminer.search.GlobalSearchCategory;
+import com.rapidminer.search.GlobalSearchResult;
+import com.rapidminer.tools.LogService;
+
+
+/**
+ * Register {@link GlobalSearchableGUIProvider} visualization providers here. After being registered here they will be used to
+ * visualize search results for the respective {@link GlobalSearchCategory}. You can call {@link
+ * #registerSearchVisualizationProvider(GlobalSearchCategory, GlobalSearchableGUIProvider)} to register them.
+ *
+ * Do so when #initFinalChecks() is called for plugins, because afterwards the UI for the Global Search will be initialized.
+ *
+ *
+ *
+ * If you unregistered the searchable already, you can also unregister the GUI provider by calling {@link #unregisterSearchVisualizationProvider(GlobalSearchCategory)}.
+ *
+ *
+ * @author Marco Boeck
+ * @since 8.1
+ */
+public enum GlobalSearchGUIRegistry {
+
+ INSTANCE;
+
+ private final Map map = new ConcurrentHashMap<>();
+
+
+ /**
+ * Registers the given {@link GlobalSearchableGUIProvider}. These are used to visualize {@link
+ * GlobalSearchResult}s.
+ *
+ * @param searchCategory
+ * The searchable instance
+ * @param guiProvider
+ * the gui provider instance
+ * @throws IllegalStateException
+ * if registering a guiProvider for a searchable that is already registered
+ */
+ public void registerSearchVisualizationProvider(final GlobalSearchCategory searchCategory, final GlobalSearchableGUIProvider guiProvider) {
+ if (searchCategory == null) {
+ throw new IllegalArgumentException("searchCategory must not be null!");
+ }
+ if (guiProvider == null) {
+ throw new IllegalArgumentException("guiProvider must not be null!");
+ }
+ String categoryId = searchCategory.getCategoryId();
+ if (categoryId == null || categoryId.trim().isEmpty()) {
+ throw new IllegalArgumentException("categoryId must not be null or empty!");
+ }
+ if (map.get(categoryId) != null) {
+ throw new IllegalStateException("searchable " + categoryId + " already registered!");
+ }
+
+ map.put(categoryId, guiProvider);
+ LogService.getRoot().log(Level.INFO, "com.rapidminer.gui.search.GlobalSearchGUIRegistry.provider_added", categoryId);
+ }
+
+ /**
+ * Removes the given {@link GlobalSearchableGUIProvider}.
+ *
+ * @param searchCategory
+ * The searchable instance
+ * @throws IllegalStateException
+ * if registering a guiProvider for a searchable that is already registered
+ */
+ public void unregisterSearchVisualizationProvider(final GlobalSearchCategory searchCategory) {
+ if (searchCategory == null) {
+ throw new IllegalArgumentException("searchCategory must not be null!");
+ }
+ String categoryId = searchCategory.getCategoryId();
+ if (categoryId == null || categoryId.trim().isEmpty()) {
+ throw new IllegalArgumentException("categoryId must not be null or empty!");
+ }
+
+ GlobalSearchableGUIProvider removedProvider = map.remove(categoryId);
+ if (removedProvider != null) {
+ LogService.getRoot().log(Level.INFO, "com.rapidminer.gui.search.GlobalSearchGUIRegistry.provider_removed", categoryId);
+ }
+ }
+
+ /**
+ * Returns the searchable gui provider for the given id. If the categoryId is unknown, returns {@code null}!
+ *
+ * @param categoryId
+ * the category id for which the registered searchable gui provider should be returned
+ * @return the category or {@code null} if it is not registered
+ */
+ public GlobalSearchableGUIProvider getGUIProviderForSearchCategoryById(final String categoryId) {
+ return map.get(categoryId);
+ }
+
+}
diff --git a/src/main/java/com/rapidminer/gui/search/GlobalSearchGUIUtilities.java b/src/main/java/com/rapidminer/gui/search/GlobalSearchGUIUtilities.java
new file mode 100644
index 000000000..48f139dac
--- /dev/null
+++ b/src/main/java/com/rapidminer/gui/search/GlobalSearchGUIUtilities.java
@@ -0,0 +1,148 @@
+/**
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
+ *
+ * Complete list of developers available at our web site:
+ *
+ * http://rapidminer.com
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the
+ * GNU Affero General Public License as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * 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/.
+ */
+package com.rapidminer.gui.search;
+
+
+import java.util.ArrayList;
+import java.util.Comparator;
+import java.util.List;
+
+import org.jsoup.Jsoup;
+
+import com.rapidminer.search.GlobalSearchCategory;
+import com.rapidminer.search.GlobalSearchRegistry;
+
+
+/**
+ * Utility class for using Global Search GUI features.
+ *
+ * @author Marco Boeck
+ * @since 8.1
+ */
+public enum GlobalSearchGUIUtilities {
+
+ INSTANCE;
+
+
+ /** the max height of a GUI component that the Global Search GUI will accept */
+ public static final int MAX_HEIGHT = 50;
+
+
+ private static final String CATEGORY_ID_ACTIONS = "actions";
+ private static final String CATEGORY_ID_OPERATOR = "operator";
+ private static final String CATEGORY_ID_REPOSITORY = "repository";
+ private static final String CATEGORY_ID_MARKETPLACE = "marketplace";
+ private static final List PREDEFINED_CATEGORY_ORDER;
+
+ static {
+ // we need this to ensure our own searchables have a well-defined order in the UI
+ PREDEFINED_CATEGORY_ORDER = new ArrayList<>(4);
+ PREDEFINED_CATEGORY_ORDER.add(CATEGORY_ID_ACTIONS);
+ PREDEFINED_CATEGORY_ORDER.add(CATEGORY_ID_OPERATOR);
+ PREDEFINED_CATEGORY_ORDER.add(CATEGORY_ID_MARKETPLACE);
+ PREDEFINED_CATEGORY_ORDER.add(CATEGORY_ID_REPOSITORY);
+ }
+
+ private static final String HTML_TAG_OPEN = "";
+ private static final String HTML_TAG_CLOSE = "";
+
+
+ /**
+ * Adds highlights to strings for search result hits.
+ *
+ * @param text
+ * the original text where highlights should be added
+ * @param bestFragments
+ * the best fragments as provided by {@link GlobalSearchableGUIProvider#getGUIListComponentForDocument}. If {@code null}, only HTML tags are added.
+ * @return the HTML-styled string
+ */
+ public String createHTMLHighlightFromString(final String text, final String[] bestFragments) {
+ if (text == null || text.trim().isEmpty()) {
+ throw new IllegalArgumentException("text must not be null or empty!");
+ }
+
+ StringBuilder sb = new StringBuilder();
+ sb.append(HTML_TAG_OPEN);
+ if (bestFragments != null && bestFragments.length > 0) {
+ for (String bestFragment : bestFragments) {
+ if (bestFragment == null) {
+ continue;
+ }
+ // best fragment may only be a part of the original content. So replace original substring match with highlighted fragment
+ sb.append(text.replace(createTextFromHTML(bestFragment), bestFragment));
+ }
+ } else {
+ sb.append(text);
+ }
+ sb.append(HTML_TAG_CLOSE);
+
+ return sb.toString();
+ }
+
+ /**
+ * Converts HTML to plain text. Does not care if HTML is well formatted at all.
+ *
+ * @param html
+ * the html to convert to plain text
+ * @return the plain text, never {@code null}
+ */
+ public String createTextFromHTML(final String html) {
+ if (html == null) {
+ throw new IllegalArgumentException("html must not be null!");
+ }
+ if (html.trim().isEmpty()) {
+ return html;
+ }
+
+ return Jsoup.parse(html).text();
+ }
+
+ /**
+ * Sorts the search categories in a sort of predefined order - first our own categories, then user provided ones.
+ *
+ * @param categories
+ * the input categories list
+ * @return the sorted list
+ */
+ public List sortCategories(final List categories) {
+ if (categories == null) {
+ throw new IllegalArgumentException("categories must not be null!");
+ }
+
+ List clone = new ArrayList<>(categories.size());
+ for (String predefinedCategory : PREDEFINED_CATEGORY_ORDER) {
+ GlobalSearchCategory cat = GlobalSearchRegistry.INSTANCE.getSearchCategoryById(predefinedCategory);
+ if (cat != null) {
+ clone.add(cat);
+ // remove predefined cats from given list
+ categories.remove(cat);
+ }
+ }
+
+ // sort remaining categories by id
+ if (!categories.isEmpty()) {
+ categories.sort(Comparator.comparing(GlobalSearchCategory::getCategoryId));
+ }
+
+ // now add them as well
+ clone.addAll(categories);
+
+ return clone;
+ }
+}
diff --git a/src/main/java/com/rapidminer/gui/search/GlobalSearchPanel.java b/src/main/java/com/rapidminer/gui/search/GlobalSearchPanel.java
new file mode 100644
index 000000000..0a4e42c79
--- /dev/null
+++ b/src/main/java/com/rapidminer/gui/search/GlobalSearchPanel.java
@@ -0,0 +1,541 @@
+/**
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
+ *
+ * Complete list of developers available at our web site:
+ *
+ * http://rapidminer.com
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General
+ * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any
+ * later version.
+ *
+ * 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/.
+ */
+package com.rapidminer.gui.search;
+
+import java.awt.Dimension;
+import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
+import java.awt.event.ActionEvent;
+import java.awt.event.FocusEvent;
+import java.awt.event.FocusListener;
+import java.awt.event.KeyEvent;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+import java.util.List;
+import javax.swing.ActionMap;
+import javax.swing.ButtonGroup;
+import javax.swing.ImageIcon;
+import javax.swing.InputMap;
+import javax.swing.JButton;
+import javax.swing.JComponent;
+import javax.swing.JPanel;
+import javax.swing.JPopupMenu;
+import javax.swing.JRadioButtonMenuItem;
+import javax.swing.KeyStroke;
+import javax.swing.SwingConstants;
+import javax.swing.SwingUtilities;
+import javax.swing.event.PopupMenuEvent;
+import javax.swing.event.PopupMenuListener;
+
+import com.rapidminer.gui.ApplicationFrame;
+import com.rapidminer.gui.look.Colors;
+import com.rapidminer.gui.look.RapidLookTools;
+import com.rapidminer.gui.properties.PropertyPanel;
+import com.rapidminer.gui.search.event.GlobalSearchCategoryEvent;
+import com.rapidminer.gui.search.event.GlobalSearchEventListener;
+import com.rapidminer.gui.search.event.GlobalSearchModelEvent;
+import com.rapidminer.gui.search.model.GlobalSearchModel;
+import com.rapidminer.gui.tools.FilterTextField;
+import com.rapidminer.gui.tools.ResourceAction;
+import com.rapidminer.gui.tools.ResourceActionAdapter;
+import com.rapidminer.gui.tools.SelectionNavigationListener;
+import com.rapidminer.gui.tools.SwingTools;
+import com.rapidminer.gui.tools.TextFieldWithAction;
+import com.rapidminer.gui.tools.components.DropDownPopupButton;
+import com.rapidminer.gui.tools.components.composite.CompositeButton;
+import com.rapidminer.search.GlobalSearchCategory;
+import com.rapidminer.search.GlobalSearchRegistry;
+import com.rapidminer.search.GlobalSearchResult;
+import com.rapidminer.tools.I18N;
+import com.rapidminer.tools.usagestats.ActionStatisticsCollector;
+
+
+/**
+ * Panel that visualizes the Global Search feature and results.
+ *
+ * @author Marco Boeck
+ * @since 8.1
+ */
+public final class GlobalSearchPanel extends JPanel {
+
+ private static GlobalSearchPanel instance;
+
+ private static final Object SINGLETON_LOCK = new Object();
+
+ private static final ImageIcon CLEAR_FILTER_HOVERED_ICON = SwingTools.createIcon("16/x-mark_orange.png");
+ private static final ImageIcon DEFAULT_FILTER_ICON = SwingTools.createIcon("16/magnifying_glass.png");
+ private static final ImageIcon LOADING_ICON = SwingTools.createIcon("16/loading.gif");
+
+ private static final String CLOSE_FULL_SEARCH_DIALOG = "closeGlobalSearchDialog";
+
+ /** max height in pixel the result dialog can be. If it needs to be larger, it will use a scrollpane */
+ private static final int MAX_RESULT_DIALOG_HEIGHT = 820;
+ private static final int SEARCH_FIELD_WIDTH = 205;
+ private static final int FILTER_BUTTON_WIDTH = 90;
+ private static final int SEARCH_BUTTON_WIDTH = 90;
+ private static final int MAX_CATEGORY_I18N_LENGTH = 11;
+
+ public static final int PREFERRED_WIDTH = SEARCH_FIELD_WIDTH + FILTER_BUTTON_WIDTH + SEARCH_BUTTON_WIDTH;
+
+
+ private FilterTextField searchField;
+ private TextFieldWithAction searchActionField;
+
+ private DropDownPopupButton filterButton;
+ private JButton searchButton;
+ private JPopupMenu filterMenu;
+ private JRadioButtonMenuItem allCategoriesButton;
+
+ private GlobalSearchDialog resultDialog;
+ private transient GlobalSearchModel model;
+ private transient GlobalSearchController controller;
+
+ private final ResourceAction clearFilterAction = new ResourceAction(true, "clear_filter") {
+
+ @Override
+ public void actionPerformed(final ActionEvent e) {
+ searchField.clearFilter();
+ searchField.requestFocusInWindow();
+ }
+ };
+
+ /** if not {@code null}, determines in which category the Global Search searches for results. If {@code null}, all categories are searched */
+ private String categoryFilter = null;
+
+ /**
+ * Should only be created by {@link #getInstance()} ()}.
+ */
+ private GlobalSearchPanel() {
+ // result display
+ model = new GlobalSearchModel();
+ controller = new GlobalSearchController(this, model);
+ model.registerEventListener(new GlobalSearchEventListener() {
+
+ @Override
+ public void modelChanged(GlobalSearchModelEvent e) {
+ switch (e.getEventType()) {
+ case ALL_CATEGORIES_REMOVED:
+ hideComponents();
+ break;
+ case ERROR_STATUS_CHANGED:
+ // if error was reset but there are still pending searches, don't open dialog
+ if (model.hasError()) {
+ showResults();
+ }
+ break;
+ default:
+ // do nothing
+ }
+ }
+
+ @Override
+ public void categoryChanged(String categoryId, GlobalSearchCategoryEvent e, GlobalSearchResult result) {
+ switch (e.getEventType()) {
+ case CATEGORY_PENDING_STATUS_CHANGED:
+ setPending(model.isAnyCategoryPending());
+ // there was an error and now a new search has been started. Close dialog that displayed error and wait for new results
+ if (model.hasError()) {
+ hideComponents();
+ }
+ break;
+ case CATEGORY_ROWS_CHANGED:
+ case CATEGORY_ROWS_APPENDED:
+ // first search will fire for empty result as well for each category
+ // only show dialog if results are there or no more pending categories exist
+ if (model.hasCategoryResults(categoryId) || !model.isAnyCategoryPending()) {
+ showResults();
+ }
+ break;
+ default:
+ // do nothing
+ }
+ }
+ });
+
+ initGUI();
+ }
+
+ @Override
+ public boolean requestFocusInWindow() {
+ if (!searchField.isFocusOwner()) {
+ return searchField.requestFocusInWindow();
+ } else {
+ searchField.selectAll();
+ return true;
+ }
+ }
+
+ /**
+ * Sets the text of the Global Search field. Will trigger a new search.
+ *
+ * @param searchTerm
+ * the term to search. Can be {@code null} to reset the search
+ */
+ public void setSearchTerm(String searchTerm) {
+ searchField.setText(searchTerm);
+ }
+
+ /**
+ * Initializes the Global Search result visualization. Has no effect if it already is visualized.
+ */
+ public void initializeSearchResultVisualization() {
+ synchronized (SINGLETON_LOCK) {
+ if (resultDialog == null) {
+ resultDialog = new GlobalSearchDialog(ApplicationFrame.getApplicationFrame(), controller) {
+
+ @Override
+ public Dimension getPreferredSize() {
+ // make sure width is same as this panel
+ int width = searchActionField.getWidth() + filterButton.getWidth() + searchButton.getWidth();
+ Dimension prefSize = super.getPreferredSize();
+ prefSize.width = width;
+
+ // make sure height does not exceed certain amount
+ prefSize.height = Math.min(prefSize.height, MAX_RESULT_DIALOG_HEIGHT);
+
+ return prefSize;
+ }
+ };
+ resultDialog.setFocusableWindowState(false);
+
+ // even though dialog cannot be focused, it should hide when RM Studio is minimized
+ ApplicationFrame.getApplicationFrame().addWindowListener(new WindowAdapter() {
+
+ @Override
+ public void windowIconified(WindowEvent e) {
+ GlobalSearchPanel.this.hideComponents();
+ }
+ });
+
+ // also close everything if results are displayed
+ InputMap inputMap = resultDialog.getRootPane().getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
+ ActionMap actionMap = resultDialog.getRootPane().getActionMap();
+
+ inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), CLOSE_FULL_SEARCH_DIALOG);
+ actionMap.put(CLOSE_FULL_SEARCH_DIALOG, new ResourceAction("") {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ GlobalSearchPanel.this.hideComponents();
+
+ logGlobalSearchFocusLost();
+ }
+ });
+ }
+ }
+ }
+
+ /**
+ * Hides any components that belong to the Global Search, i.e. the result dialog and the filter popup.
+ */
+ protected void hideComponents() {
+ if (filterMenu != null) {
+ filterMenu.setVisible(false);
+ }
+ if (resultDialog != null) {
+ resultDialog.setVisible(false);
+ }
+ }
+
+ /**
+ * Toggles the search "All Studio" category button as if the user clicked it.
+ */
+ protected void searchAll() {
+ allCategoriesButton.doClick();
+ }
+
+ /**
+ * Sets the panel to the pending state when any category is pending. Changes the icon of the search field to a loading icon.
+ *
+ * @param pending
+ * {@code true} if any search is pending; {@code false} if no search is pending
+ */
+ private void setPending(final boolean pending) {
+ if (pending) {
+ searchActionField.setForceIcon(LOADING_ICON);
+ } else {
+ searchActionField.setForceIcon(null);
+ }
+ }
+
+ /**
+ * Shows the result dialog popup.
+ */
+ private void showResults() {
+ // show result dialog immediately to visualize search is ongoing
+ if (resultDialog != null) {
+ resultDialog.setLocation(searchActionField.getLocationOnScreen().x, searchActionField.getLocationOnScreen().y + searchActionField.getHeight() - 1);
+ resultDialog.setVisible(true);
+ }
+ }
+
+ /**
+ * Populate the filter popup. This is needed because search categories may have been registered/removed in the meantime.
+ *
+ * @param menu
+ * the menu to populate, must not be {@code null}
+ */
+ private void populateFilterPopup(final JPopupMenu menu) {
+ menu.removeAll();
+ ButtonGroup categoryGroup = new ButtonGroup();
+
+ // create "All" categories button
+ String allCategoriesI18N = I18N.getGUILabel("global_search.filter_all.label");
+ allCategoriesButton = new JRadioButtonMenuItem(allCategoriesI18N);
+ allCategoriesButton.setMnemonic(KeyEvent.VK_L);
+ allCategoriesButton.addActionListener(e -> {
+
+ // remember if user clicked already selected filter again, or if it was truly a change
+ boolean changed = categoryFilter != null;
+
+ categoryFilter = null;
+ filterButton.setText(allCategoriesI18N);
+
+ // category filter changed, clear all previous search categories
+ if (changed) {
+ model.clearAllCategories();
+ }
+
+ GlobalSearchPanel.this.requestFocusInWindow();
+ controller.handleSearch(searchField.getText(), categoryFilter);
+ });
+ categoryGroup.add(allCategoriesButton);
+ if (categoryFilter == null) {
+ allCategoriesButton.setSelected(true);
+ }
+
+ menu.add(allCategoriesButton);
+ menu.addSeparator();
+
+ // create buttons for each registered search category
+ List categories = GlobalSearchGUIUtilities.INSTANCE.sortCategories(GlobalSearchRegistry.INSTANCE.getAllSearchCategories());
+ for (GlobalSearchCategory cat : categories) {
+ String catID = cat.getCategoryId();
+ GlobalSearchableGUIProvider guiProvider = GlobalSearchGUIRegistry.INSTANCE.getGUIProviderForSearchCategoryById(catID);
+ if (guiProvider == null) {
+ // skip categories with no GUI
+ continue;
+ }
+ String i18nName = guiProvider.getI18nNameForSearchable();
+
+ JRadioButtonMenuItem catButton = new JRadioButtonMenuItem(i18nName);
+ catButton.setMnemonic(i18nName.charAt(0));
+ catButton.addActionListener(e -> {
+
+ // remember if user clicked already selected filter again, or if it was truly a change
+ boolean changed = !catID.equals(categoryFilter);
+
+ categoryFilter = catID;
+ String text = i18nName;
+
+ // cut off too long name
+ if (text.length() > MAX_CATEGORY_I18N_LENGTH) {
+ text = text.substring(0, MAX_CATEGORY_I18N_LENGTH - 1) + "..";
+ }
+ filterButton.setText(text);
+
+ // category filter changed, clear all previous search categories
+ if (changed) {
+ model.clearAllCategories();
+ }
+
+ GlobalSearchPanel.this.requestFocusInWindow();
+ controller.handleSearch(searchField.getText(), categoryFilter);
+ });
+ categoryGroup.add(catButton);
+
+ if (catID.equals(categoryFilter)) {
+ catButton.setSelected(true);
+ }
+
+ menu.add(catButton);
+ }
+ }
+
+ /**
+ * Set up the UI.
+ */
+ private void initGUI() {
+ GridBagConstraints gbc = new GridBagConstraints();
+ setLayout(new GridBagLayout());
+
+ searchField = new FilterTextField(12);
+ searchField.setDefaultFilterText(I18N.getMessage(I18N.getGUIBundle(), "gui.field.global_search.prompt"));
+ // listen for value change events, trigger search with slight delay to not search while user types
+ searchField.addFilterListener(value -> controller.handleSearch(searchField.getText(), categoryFilter));
+ // listen for special events that can detect when user pressed Enter. Search straight away in that case w/o delay
+ searchField.addSelectionNavigationListener(new SelectionNavigationListener() {
+ @Override
+ public void up() {
+ // ignore
+ }
+
+ @Override
+ public void down() {
+ // ignore
+ }
+
+ @Override
+ public void left() {
+ // ignore
+ }
+
+ @Override
+ public void right() {
+ // ignore
+ }
+
+ @Override
+ public void selected() {
+ // user pressed Enter key, trigger search straight away
+ controller.handleSearch(searchField.getText(), categoryFilter);
+ }
+ });
+ // clicking away from the search field should close the search popup
+ // this is the next best thing because we cannot detect focus loss on dialog as dialog cannot be focused anymore
+ searchField.addFocusListener(new FocusListener() {
+ @Override
+ public void focusGained(FocusEvent e) {
+ // not needed
+ }
+
+ @Override
+ public void focusLost(FocusEvent e) {
+ // only hide if the opposite component is in Studio (aka not null)
+ if (e.getOppositeComponent() != null) {
+ hideComponents();
+
+ logGlobalSearchFocusLost();
+ }
+ }
+ });
+
+ searchActionField = new TextFieldWithAction(searchField, clearFilterAction, CLEAR_FILTER_HOVERED_ICON) {
+
+ @Override
+ public Dimension getPreferredSize() {
+ return new Dimension(SEARCH_FIELD_WIDTH, PropertyPanel.VALUE_CELL_EDITOR_HEIGHT);
+ }
+ };
+ searchActionField.setDefaultIcon(DEFAULT_FILTER_ICON);
+ searchActionField.putClientProperty(RapidLookTools.PROPERTY_INPUT_DARK_BORDER, Boolean.TRUE);
+ searchActionField.putClientProperty(RapidLookTools.PROPERTY_INPUT_TYPE_COMPOSITE, SwingConstants.LEFT);
+
+ gbc.gridx = 0;
+ gbc.gridy = 0;
+ gbc.weightx = 1.0d;
+ gbc.fill = GridBagConstraints.HORIZONTAL;
+ add(searchActionField, gbc);
+
+ gbc.gridx += 1;
+ gbc.weightx = 0.0d;
+ gbc.fill = GridBagConstraints.NONE;
+ DropDownPopupButton.DropDownPopupButtonBuilder builder = new DropDownPopupButton.DropDownPopupButtonBuilder();
+ filterButton = builder.with(new ResourceActionAdapter("global_search.toolbar")).setComposite(SwingUtilities.CENTER).build();
+ filterButton.addPopupMenuListener(new PopupMenuListener() {
+ @Override
+ public void popupMenuWillBecomeVisible(PopupMenuEvent e) {
+ Object source = e.getSource();
+ populateFilterPopup((JPopupMenu) source);
+
+ filterMenu = (JPopupMenu) source;
+ filterMenu.setPreferredSize(new Dimension(filterButton.getWidth() + searchButton.getWidth(), filterMenu.getPreferredSize().height));
+ }
+
+ @Override
+ public void popupMenuWillBecomeInvisible(PopupMenuEvent e) {
+ filterMenu = null;
+ }
+
+ @Override
+ public void popupMenuCanceled(PopupMenuEvent e) {
+ // not needed
+ }
+ });
+ filterButton.putClientProperty(RapidLookTools.PROPERTY_BUTTON_DARK_BORDER, Boolean.TRUE);
+ filterButton.setText(I18N.getGUILabel("global_search.filter_all.label"));
+ filterButton.setMnemonic(KeyEvent.VK_L);
+ filterButton.setPreferredSize(new Dimension(FILTER_BUTTON_WIDTH, PropertyPanel.VALUE_CELL_EDITOR_HEIGHT));
+ add(filterButton, gbc);
+
+ gbc.gridx += 1;
+ searchButton = new CompositeButton(I18N.getGUILabel("global_search.run_search.label"), SwingConstants.RIGHT);
+ searchButton.setToolTipText(I18N.getGUILabel("global_search.run_search.tip"));
+ searchButton.addActionListener(e -> {
+
+ controller.handleSearch(searchField.getText(), categoryFilter);
+ // give focus back to search field
+ requestFocusInWindow();
+ });
+ searchButton.setPreferredSize(new Dimension(SEARCH_BUTTON_WIDTH, PropertyPanel.VALUE_CELL_EDITOR_HEIGHT));
+ searchButton.putClientProperty(RapidLookTools.PROPERTY_BUTTON_HIGHLIGHT, Boolean.TRUE);
+ searchButton.putClientProperty(RapidLookTools.PROPERTY_BUTTON_DARK_BORDER, Boolean.TRUE);
+ searchButton.setForeground(Colors.WHITE);
+ add(searchButton, gbc);
+
+ InputMap inputMap = getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
+ ActionMap actionMap = getActionMap();
+
+ inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), CLOSE_FULL_SEARCH_DIALOG);
+ actionMap.put(CLOSE_FULL_SEARCH_DIALOG, new ResourceAction("") {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ GlobalSearchPanel.this.hideComponents();
+
+ logGlobalSearchFocusLost();
+ }
+ });
+ }
+
+ /**
+ * Log the values in case the global search focus was lost intentionally. Make sure this is only called if the user
+ * cancels it.
+ */
+ private void logGlobalSearchFocusLost() {
+ String lastQuery = controller.getLastQuery();
+ if (lastQuery == null) {
+ return;
+ }
+ String categoryId = controller.getLastCategoryFilter();
+ long amount = 0;
+ if (categoryId == null) {
+ categoryId = ActionStatisticsCollector.ARG_GLOBAL_SEARCH_CATEGORY_ALL;
+ for (String category : controller.getModel().getActiveCategories()) {
+ amount += controller.getModel().getRowsForCategory(category).size();
+ }
+ } else {
+ amount = controller.getModel().getRowsForCategory(categoryId).size();
+ }
+ ActionStatisticsCollector.getInstance().logGlobalSearch(ActionStatisticsCollector.VALUE_FOCUS_LOST, lastQuery, categoryId, amount);
+ }
+
+ /**
+ * Returns the global instance of the search panel.
+ *
+ * @return the instance, never {@code null}
+ */
+ public static GlobalSearchPanel getInstance() {
+ synchronized (SINGLETON_LOCK) {
+ if (instance == null) {
+ instance = new GlobalSearchPanel();
+ }
+
+ return instance;
+ }
+ }
+}
diff --git a/src/main/java/com/rapidminer/gui/search/GlobalSearchableGUIProvider.java b/src/main/java/com/rapidminer/gui/search/GlobalSearchableGUIProvider.java
new file mode 100644
index 000000000..2fbc397ed
--- /dev/null
+++ b/src/main/java/com/rapidminer/gui/search/GlobalSearchableGUIProvider.java
@@ -0,0 +1,150 @@
+/**
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
+ *
+ * Complete list of developers available at our web site:
+ *
+ * http://rapidminer.com
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General
+ * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any
+ * later version.
+ *
+ * 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/.
+ */
+package com.rapidminer.gui.search;
+
+import java.awt.dnd.DragGestureListener;
+import javax.swing.JComponent;
+
+import org.apache.lucene.document.Document;
+
+import com.rapidminer.search.GlobalSearchManager;
+import com.rapidminer.search.GlobalSearchResult;
+import com.rapidminer.search.GlobalSearchUtilities;
+import com.rapidminer.search.GlobalSearchable;
+
+
+/**
+ * Implement this to provide a GUI component to visualize search results provided by {@link com.rapidminer.search.GlobalSearchHandler}.
+ *
Register your implementation to {@link GlobalSearchGUIRegistry} so it is automatically found for your {@link
+ * GlobalSearchManager#getSearchCategoryId()}.
+ *
+ *
+ * Do so when #initFinalChecks() is called for plugins, because afterwards the UI for the Global Search will be initialized.
+ *
+ *
+ * @author Marco Boeck
+ * @since 8.1
+ */
+public interface GlobalSearchableGUIProvider {
+
+ /**
+ * Can be used to veto closing the Global Search GUI upon a triggered search result (e.g. because the click is not supposed to do anything).
+ * @since 8.1
+ */
+ class Veto {
+
+ private boolean vetoGiven;
+
+ /**
+ * Exercises the veto power.
+ */
+ public void veto() {
+ this.vetoGiven = true;
+ }
+
+ /**
+ * Returns if provider did veto the interaction.
+ *
+ * @return {@code true} if provider did veto; {@code false} otherwise
+ */
+ protected boolean isVeto() {
+ return vetoGiven;
+ }
+ }
+
+
+ /**
+ * Creates a GUI Swing component for the provided document for visualizing {@link
+ * GlobalSearchResult}s. This one is displayed in the search result list, so:
+ *
+ *
It must not exceed {@value GlobalSearchGUIUtilities#MAX_HEIGHT}px in height - otherwise it will be rejected
+ *
It must also not be opaque, so that {@link JComponent#isOpaque()} returns false
+ *
Finally, it should try not exceed the width of the {@link GlobalSearchPanel}, otherwise it will simply be cut off
+ *
+ *
+ * Attention: This method must not block! If you need more time to compute something, then usage of a {@link javax.swing.SwingWorker} is encouraged.
+ * In that case, this method should return with a placeholder UI first and then update it once the computation is done.
+ *
+ *
+ * @param document
+ * the document for which a GUI list component should be created, never {@code null}
+ * @param bestFragments
+ * the best fragments with HTML-formatted highlighting for the match on the {@link
+ * GlobalSearchUtilities#FIELD_NAME} of the document. Can be {@code null}.
+ * Use {@link GlobalSearchGUIUtilities#createHTMLHighlightFromString(String, String[])} to create an HTML snippet highlighting the best matches.
+ * @return the component, never {@code null}
+ */
+ JComponent getGUIListComponentForDocument(final Document document, final String[] bestFragments);
+
+
+ /**
+ * The I18N name for your search category. Displayed in the search filter UI. Should not exceed 10 characters, will be shortened otherwise.
+ *
+ * @return the internationalized name, must not be {@code null} or empty
+ */
+ String getI18nNameForSearchable();
+
+ /**
+ * This method is called when a single search result from this {@link GlobalSearchable} has been activated (e.g. clicked
+ * on by the user). This should take the user to the result, e.g. by opening it. The implementation can veto the interaction, and by doing so veto the closing of the search results.
+ * This is useful if a result cannot be directly activated (either in general or because of the circumstances).
+ *
+ * Note that this is fired on the EDT, so don't do computationally intensive tasks here. Spawn another thread if need be.
+ *
+ *
+ * @param document
+ * the document which was activated
+ * @param veto
+ * Call {@link Veto#veto()} if the implementation vetoes this search result activation (e.g. because the click is not supposed to do anything)
+ */
+ void searchResultTriggered(final Document document, final Veto veto);
+
+ /**
+ * This method is called when a single search result from this {@link GlobalSearchable} is being browsed (e.g. user is hovering over it).
+ * This should show a preview of some description to the user. It will almost always be a pre-step to {@link #searchResultTriggered(Document, Veto)}.
+ *
+ * Note that this is fired on the EDT, so don't do computationally intensive tasks here! This must return immediately.
+ *
+ *
+ * @param document
+ * the document which is being browsed
+ */
+ void searchResultBrowsed(final Document document);
+
+ /**
+ * This is used to determine if drag&drop is supported by this {@link GlobalSearchable}.
+ * This means that the {@link #getGUIListComponentForDocument(Document, String[])} can be dragged somewhere, e.g. the process canvas.
+ *
+ * If this is {@code true}, {@link #getDragAndDropSupport(Document)} will be used to register the drag source.
+ *
+ * @param document
+ * the document which should be dragged and dropped
+ * @return {@code true} if drag&drop is supported; {@code false} otherwise.
+ */
+ boolean isDragAndDropSupported(final Document document);
+
+ /**
+ * This is used to register the GUI component as a drag source to the UI. Only called if {@link #isDragAndDropSupported(Document)} returns {@code true}.
+ *
+ * @param document
+ * the document which should be dragged and dropped
+ * @return the drag gesture listener if {@link #isDragAndDropSupported(Document)} is {@code true}, otherwise this can return {@code null}
+ */
+ DragGestureListener getDragAndDropSupport(final Document document);
+}
diff --git a/src/main/java/com/rapidminer/gui/search/action/GlobalSearchAction.java b/src/main/java/com/rapidminer/gui/search/action/GlobalSearchAction.java
new file mode 100644
index 000000000..3f9ad33a5
--- /dev/null
+++ b/src/main/java/com/rapidminer/gui/search/action/GlobalSearchAction.java
@@ -0,0 +1,60 @@
+/**
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
+ *
+ * Complete list of developers available at our web site:
+ *
+ * http://rapidminer.com
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General
+ * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any
+ * later version.
+ *
+ * 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/.
+ */
+package com.rapidminer.gui.search.action;
+
+import java.awt.Toolkit;
+import java.awt.event.ActionEvent;
+import java.awt.event.KeyEvent;
+import javax.swing.ActionMap;
+import javax.swing.InputMap;
+import javax.swing.JComponent;
+import javax.swing.KeyStroke;
+
+import com.rapidminer.gui.ApplicationFrame;
+import com.rapidminer.gui.search.GlobalSearchDialog;
+import com.rapidminer.gui.search.GlobalSearchPanel;
+import com.rapidminer.gui.tools.ResourceAction;
+
+
+/**
+ * The action that opens the {@link GlobalSearchDialog}.
+ *
+ * @author Marco Boeck
+ * @since 8.1
+ */
+public class GlobalSearchAction extends ResourceAction {
+
+ private static final String GLOBAL_SEARCH = "global_search";
+
+
+ public GlobalSearchAction() {
+ super(true, GLOBAL_SEARCH);
+ InputMap inputMap = ApplicationFrame.getApplicationFrame().getRootPane().getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
+ ActionMap actionMap = ApplicationFrame.getApplicationFrame().getRootPane().getActionMap();
+
+ inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_F, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()), GLOBAL_SEARCH);
+ actionMap.put(GLOBAL_SEARCH, this);
+ }
+
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ GlobalSearchPanel.getInstance().requestFocusInWindow();
+ }
+
+}
diff --git a/src/main/java/com/rapidminer/gui/search/event/GlobalSearchCategoryEvent.java b/src/main/java/com/rapidminer/gui/search/event/GlobalSearchCategoryEvent.java
new file mode 100644
index 000000000..1956bbe09
--- /dev/null
+++ b/src/main/java/com/rapidminer/gui/search/event/GlobalSearchCategoryEvent.java
@@ -0,0 +1,66 @@
+/**
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
+ *
+ * Complete list of developers available at our web site:
+ *
+ * http://rapidminer.com
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the
+ * GNU Affero General Public License as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * 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/.
+*/
+package com.rapidminer.gui.search.event;
+
+/**
+ * An event for the {@link com.rapidminer.gui.search.model.GlobalSearchModel} when a category changes.
+ *
+ * @author Marco Boeck
+ * @since 8.1
+ *
+ */
+public final class GlobalSearchCategoryEvent {
+
+ /**
+ * Defines different kind of {@link GlobalSearchCategoryEvent}s.
+ *
+ */
+ public enum CategoryEvent {
+ /** fired when the pending state of a category has changed */
+ CATEGORY_PENDING_STATUS_CHANGED,
+
+ /** fired when rows have been changed for a search category. This can e.g. be caused by different results or by no more results for a row */
+ CATEGORY_ROWS_CHANGED,
+
+ /** fired when more rows have been appended to a search category */
+ CATEGORY_ROWS_APPENDED
+ }
+
+ private final CategoryEvent type;
+
+ /**
+ * Creates a new {@link GlobalSearchCategoryEvent} instance for the specified {@link CategoryEvent}
+ * .
+ *
+ * @param type
+ * the event type
+ */
+ public GlobalSearchCategoryEvent(final CategoryEvent type) {
+ this.type = type;
+ }
+
+ /**
+ * Returns the {@link CategoryEvent}.
+ *
+ * @return the type of the event
+ */
+ public CategoryEvent getEventType() {
+ return type;
+ }
+}
diff --git a/src/main/java/com/rapidminer/gui/search/event/GlobalSearchEventListener.java b/src/main/java/com/rapidminer/gui/search/event/GlobalSearchEventListener.java
new file mode 100644
index 000000000..92e42bef7
--- /dev/null
+++ b/src/main/java/com/rapidminer/gui/search/event/GlobalSearchEventListener.java
@@ -0,0 +1,55 @@
+/**
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
+ *
+ * Complete list of developers available at our web site:
+ *
+ * http://rapidminer.com
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the
+ * GNU Affero General Public License as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * 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/.
+*/
+package com.rapidminer.gui.search.event;
+
+import java.util.EventListener;
+
+import com.rapidminer.search.GlobalSearchRegistry;
+import com.rapidminer.search.GlobalSearchResult;
+
+
+/**
+ * An object listening for {@link GlobalSearchModelEvent}s and {@link GlobalSearchCategoryEvent}s on the {@link com.rapidminer.gui.search.model.GlobalSearchModel}.
+ *
+ * @author Marco Boeck
+ * @since 8.1
+ *
+ */
+public interface GlobalSearchEventListener extends EventListener {
+
+ /**
+ * Called when something globally in the model has changed.
+ *
+ * @param e
+ * the event instance
+ */
+ void modelChanged(final GlobalSearchModelEvent e);
+
+ /**
+ * Called when a result for a search category in the model has changed.
+ *
+ * @param categoryId
+ * the id of the search category that has changed. See {@link GlobalSearchRegistry} for details
+ * @param e
+ * the event instance
+ * @param result the search result that caused the change, or {code null} if it was a pending state change
+ */
+ void categoryChanged(final String categoryId, final GlobalSearchCategoryEvent e, final GlobalSearchResult result);
+
+}
diff --git a/src/main/java/com/rapidminer/gui/search/event/GlobalSearchInteractionEvent.java b/src/main/java/com/rapidminer/gui/search/event/GlobalSearchInteractionEvent.java
new file mode 100644
index 000000000..a14642799
--- /dev/null
+++ b/src/main/java/com/rapidminer/gui/search/event/GlobalSearchInteractionEvent.java
@@ -0,0 +1,81 @@
+/**
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
+ *
+ * Complete list of developers available at our web site:
+ *
+ * http://rapidminer.com
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the
+ * GNU Affero General Public License as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * 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/.
+ */
+package com.rapidminer.gui.search.event;
+
+
+import com.rapidminer.gui.search.model.GlobalSearchRow;
+
+
+/**
+ * An event for the {@link com.rapidminer.gui.search.GlobalSearchCategoryPanel}.
+ *
+ * @author Marco Boeck
+ * @since 8.1
+ *
+ */
+public class GlobalSearchInteractionEvent {
+
+ /**
+ * Defines different kind of {@link GlobalSearchInteractionEvent}s.
+ *
+ */
+ public enum InteractionEvent {
+ /** fired when the user browses (e.g. mouse-over) the result */
+ RESULT_BROWSED,
+
+ /** fired when the user activates (e.g. clicks) the result */
+ RESULT_ACTIVATED
+ }
+
+ private final InteractionEvent type;
+ private final GlobalSearchRow row;
+
+
+ /**
+ * Creates a new {@link GlobalSearchInteractionEvent} instance for the specified {@link InteractionEvent}
+ * .
+ *
+ * @param type
+ * the event type
+ * @param row
+ * the row which the user interacted with
+ */
+ public GlobalSearchInteractionEvent(final InteractionEvent type, GlobalSearchRow row) {
+ this.type = type;
+ this.row = row;
+ }
+
+ /**
+ * Returns the {@link InteractionEvent}.
+ *
+ * @return the type of the event
+ */
+ public InteractionEvent getEventType() {
+ return type;
+ }
+
+ /**
+ * Returns the row on which the interaction happened.
+ *
+ * @return the row which the user interacted with
+ */
+ public GlobalSearchRow getRow() {
+ return row;
+ }
+}
diff --git a/src/main/java/com/rapidminer/gui/search/event/GlobalSearchInteractionListener.java b/src/main/java/com/rapidminer/gui/search/event/GlobalSearchInteractionListener.java
new file mode 100644
index 000000000..b7d0be57e
--- /dev/null
+++ b/src/main/java/com/rapidminer/gui/search/event/GlobalSearchInteractionListener.java
@@ -0,0 +1,41 @@
+/**
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
+ *
+ * Complete list of developers available at our web site:
+ *
+ * http://rapidminer.com
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the
+ * GNU Affero General Public License as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * 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/.
+ */
+package com.rapidminer.gui.search.event;
+
+
+import java.util.EventListener;
+
+
+/**
+ * An object listening for {@link GlobalSearchInteractionEvent}s on the {@link com.rapidminer.gui.search.GlobalSearchCategoryPanel}.
+ *
+ * @author Marco Boeck
+ * @since 8.1
+ *
+ */
+public interface GlobalSearchInteractionListener extends EventListener {
+
+ /**
+ * Called when the user interacted in th GUI with a Global Search result.
+ *
+ * @param e
+ * the event instance
+ */
+ void interaction(final GlobalSearchInteractionEvent e);
+}
diff --git a/src/main/java/com/rapidminer/gui/search/event/GlobalSearchModelEvent.java b/src/main/java/com/rapidminer/gui/search/event/GlobalSearchModelEvent.java
new file mode 100644
index 000000000..324f2ef1a
--- /dev/null
+++ b/src/main/java/com/rapidminer/gui/search/event/GlobalSearchModelEvent.java
@@ -0,0 +1,67 @@
+/**
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
+ *
+ * Complete list of developers available at our web site:
+ *
+ * http://rapidminer.com
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the
+ * GNU Affero General Public License as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * 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/.
+*/
+package com.rapidminer.gui.search.event;
+
+/**
+ * An event for the {@link com.rapidminer.gui.search.model.GlobalSearchModel} when the whole model (or multiple categories) changes.
+ *
+ * @author Marco Boeck
+ * @since 8.1
+ *
+ */
+public final class GlobalSearchModelEvent {
+
+ /**
+ * Defines different kind of {@link GlobalSearchModelEvent}s.
+ *
+ */
+ public enum ModelEvent {
+
+ /** fired when the error status has changed, i.e. from no error -> error or error -> no error */
+ ERROR_STATUS_CHANGED,
+
+ /** fired when the correction suggestion has changed */
+ CORRECTION_SUGGESTION_CHANGED,
+
+ /** fired when all categories have been removed, i.e. on the beginning of a category search (only the searched category becomes pending afterwards) */
+ ALL_CATEGORIES_REMOVED
+ }
+
+ private final ModelEvent type;
+
+ /**
+ * Creates a new {@link GlobalSearchModelEvent} instance for the specified {@link ModelEvent}
+ * .
+ *
+ * @param type
+ * the event type
+ */
+ public GlobalSearchModelEvent(final ModelEvent type) {
+ this.type = type;
+ }
+
+ /**
+ * Returns the {@link ModelEvent}.
+ *
+ * @return the type of the event
+ */
+ public ModelEvent getEventType() {
+ return type;
+ }
+}
diff --git a/src/main/java/com/rapidminer/gui/search/model/GlobalSearchModel.java b/src/main/java/com/rapidminer/gui/search/model/GlobalSearchModel.java
new file mode 100644
index 000000000..618dd9575
--- /dev/null
+++ b/src/main/java/com/rapidminer/gui/search/model/GlobalSearchModel.java
@@ -0,0 +1,373 @@
+/**
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
+ *
+ * Complete list of developers available at our web site:
+ *
+ * http://rapidminer.com
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the
+ * GNU Affero General Public License as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * 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/.
+ */
+package com.rapidminer.gui.search.model;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.atomic.AtomicBoolean;
+import javax.swing.event.EventListenerList;
+
+import org.apache.lucene.document.Document;
+
+import com.rapidminer.gui.search.event.GlobalSearchCategoryEvent;
+import com.rapidminer.gui.search.event.GlobalSearchCategoryEvent.CategoryEvent;
+import com.rapidminer.gui.search.event.GlobalSearchEventListener;
+import com.rapidminer.gui.search.event.GlobalSearchModelEvent;
+import com.rapidminer.gui.search.event.GlobalSearchModelEvent.ModelEvent;
+import com.rapidminer.search.GlobalSearchCategory;
+import com.rapidminer.search.GlobalSearchRegistry;
+import com.rapidminer.search.GlobalSearchResult;
+
+
+/**
+ * The model backing the Global Search result display.
+ *
+ * @author Marco Boeck
+ * @since 8.1
+ */
+@SuppressWarnings({"WeakerAccess"})
+public class GlobalSearchModel {
+
+ /** contains the list of results for the current search per category. This is needed to allow dynamic addition of more results per category on user request */
+ private final Map> currentSearchResults;
+
+ private final Map pendingSearch;
+
+ private String errorMessage;
+
+ private String correctionSuggestion;
+
+ /** event listener for this model */
+ private final EventListenerList eventListener;
+
+
+ /**
+ * Creates a new Global Search model backing the {@link com.rapidminer.gui.search.GlobalSearchDialog}.
+ */
+ public GlobalSearchModel() {
+ this.eventListener = new EventListenerList();
+
+ this.errorMessage = null;
+ this.correctionSuggestion = null;
+
+ this.pendingSearch = new HashMap<>();
+ this.currentSearchResults = new HashMap<>();
+ }
+
+ /**
+ * Adds a {@link com.rapidminer.gui.search.event.GlobalSearchEventListener} which will be informed of all changes to this
+ * model.
+ *
+ * @param listener
+ * the listener instance to add
+ */
+ public void registerEventListener(final GlobalSearchEventListener listener) {
+ if (listener == null) {
+ throw new IllegalArgumentException("listener must not be null!");
+ }
+ eventListener.add(GlobalSearchEventListener.class, listener);
+ }
+
+ /**
+ * Removes the {@link com.rapidminer.gui.search.event.GlobalSearchEventListener} from this model.
+ *
+ * @param listener
+ * the listener instance to remove
+ */
+ public void removeEventListener(final GlobalSearchEventListener listener) {
+ if (listener == null) {
+ throw new IllegalArgumentException("listener must not be null!");
+ }
+ eventListener.remove(GlobalSearchEventListener.class, listener);
+ }
+
+ /**
+ * Gets whether there is a global search error.
+ *
+ * @return {@code true} if {@link #getError()} will return an error; {@code false} otherwise
+ */
+ public boolean hasError() {
+ return errorMessage != null;
+ }
+
+ /**
+ * Gets the global search error.
+ *
+ * @return the error or {@code null}
+ */
+ public String getError() {
+ return errorMessage;
+ }
+
+ /**
+ * Sets the global error message.
+ *
+ * @param errorMessage
+ * the error or {@code null}
+ */
+ public void setError(final String errorMessage) {
+ this.errorMessage = errorMessage;
+ fireModelChanged(ModelEvent.ERROR_STATUS_CHANGED);
+ }
+
+ /**
+ * Gets whether there is a global correction suggestion.
+ *
+ * @return {@code true} if {@link #getCorrectionSuggestion()} will return a suggestion; {@code false} otherwise
+ */
+ public boolean hasCorrectionSuggestion() {
+ return correctionSuggestion != null;
+ }
+
+ /**
+ * Gets the global correction suggestion.
+ *
+ * @return the suggestion or {@code null}
+ */
+ public String getCorrectionSuggestion() {
+ return correctionSuggestion;
+ }
+
+ /**
+ * Sets the global correction suggestion.
+ *
+ * @param correctionSuggestion
+ * the suggestion or {@code null}
+ */
+ public void setCorrectionSuggestion(final String correctionSuggestion) {
+ this.correctionSuggestion = correctionSuggestion;
+ fireModelChanged(ModelEvent.CORRECTION_SUGGESTION_CHANGED);
+ }
+
+ /**
+ * Returns the currently active search categories, i.e. the ones that
+ *
+ * a) have non-empty results
+ *
+ * or b) had non-empty results in their previous state and are now pending
+ *
+ * @return the list of categories, can be empty but never {@code null}
+ */
+ public List getActiveCategories() {
+ List activeCategories = new LinkedList<>();
+ for (GlobalSearchCategory category : GlobalSearchRegistry.INSTANCE.getAllSearchCategories()) {
+ if (hasCategoryResults(category.getCategoryId())) {
+ activeCategories.add(category.getCategoryId());
+ }
+ }
+
+ return activeCategories;
+ }
+
+ /**
+ * Get the rows for the given search category.
+ *
+ * @param categoryId
+ * the search category
+ * @return the rows for the given category. Returns an empty collection if no results have been found for this category
+ * or {@code null} if search is currently pending or there was an error.
+ */
+ public List getRowsForCategory(final String categoryId) {
+ List results;
+ synchronized (currentSearchResults) {
+ results = currentSearchResults.get(categoryId);
+ if (results == null) {
+ return Collections.emptyList();
+ } else {
+ // copy list
+ results = new LinkedList<>(results);
+ }
+ }
+
+ if (isPending(categoryId) || hasError()) {
+ return null;
+ }
+
+ List rows = new LinkedList<>();
+ for (GlobalSearchResult result : results) {
+ for (int i = 0; i < result.getResultDocuments().size(); i++) {
+ Document resultDoc = result.getResultDocuments().get(i);
+ String[] bestFragments = null;
+ if (result.getBestFragments() != null) {
+ bestFragments = result.getBestFragments().get(i);
+ }
+ rows.add(new GlobalSearchRow(resultDoc, bestFragments));
+ }
+ }
+
+ return rows;
+ }
+
+ /**
+ * Sets the given search result for a category. To append to an existing search result (i.e. make more rows visible), call {@link #appendResultForCategory(String, GlobalSearchResult)}.
+ *
+ * @param categoryId
+ * the search category
+ * @param result
+ * the result to set
+ */
+ public void setResultForCategory(final String categoryId, final GlobalSearchResult result) {
+ synchronized (currentSearchResults) {
+ List existingList = currentSearchResults.get(categoryId);
+ if (existingList == null) {
+ existingList = new LinkedList<>();
+ currentSearchResults.put(categoryId, existingList);
+ } else {
+ existingList.clear();
+ }
+ existingList.add(result);
+ }
+
+ fireCategoryChanged(CategoryEvent.CATEGORY_ROWS_CHANGED, categoryId, result);
+ }
+
+ /**
+ * Appends the given search result to a category. If no previous search results exist, will behave as if called {@link #setResultForCategory(String, GlobalSearchResult)}.
+ *
+ * @param categoryId
+ * the search category
+ * @param result
+ * the result to append
+ */
+ public void appendResultForCategory(final String categoryId, final GlobalSearchResult result) {
+ synchronized (currentSearchResults) {
+ List existingList = currentSearchResults.get(categoryId);
+ if (existingList == null) {
+ setResultForCategory(categoryId, result);
+ } else {
+ existingList.add(result);
+ fireCategoryChanged(CategoryEvent.CATEGORY_ROWS_APPENDED, categoryId, result);
+ }
+ }
+ }
+
+ /**
+ * Returns if a given category has search results or did have search results and is now in pending.
+ * In other words, whether a category
+ *
+ * a) has non-empty results
+ *
+ * or b) had non-empty results in their previous state and is now pending
+ *
+ *
+ * @param categoryId
+ * the search category
+ * @return {@code true} if there are results for the search category or it did have results and is now pending; {@code false} if neither is the case
+ */
+ public boolean hasCategoryResults(final String categoryId) {
+ synchronized (currentSearchResults) {
+ List resultList = currentSearchResults.get(categoryId);
+ return !(resultList == null || resultList.isEmpty() || resultList.get(0).getNumberOfResults() == 0);
+ }
+ }
+
+ /**
+ * Gets the pending state for a category.
+ *
+ * @param categoryId
+ * the search category
+ * @return {@code true} if a search is currently running for this category, {@code false} if no search is running
+ */
+ public boolean isPending(final String categoryId) {
+ synchronized (pendingSearch) {
+ return pendingSearch.get(categoryId) != null && pendingSearch.get(categoryId).get();
+ }
+ }
+
+ /**
+ * Gets whether there is at Least one category that is in pending state.
+ *
+ * @return {@code true} if a search is currently running for any category, {@code false} if no search is running
+ */
+ public boolean isAnyCategoryPending() {
+ boolean anyPending = false;
+ synchronized (pendingSearch) {
+ for (GlobalSearchCategory category : GlobalSearchRegistry.INSTANCE.getAllSearchCategories()) {
+ String categoryId = category.getCategoryId();
+ anyPending |= pendingSearch.get(categoryId) != null && pendingSearch.get(categoryId).get();
+ }
+ }
+
+ return anyPending;
+ }
+
+ /**
+ * Sets the pending state for a category.
+ *
+ * @param categoryId
+ * the search category
+ * @param pending
+ * {@code true} if a search is currently running for this category, {@code false} if no search is running
+ */
+ public void setPending(final String categoryId, final boolean pending) {
+ synchronized (pendingSearch) {
+ AtomicBoolean isPending = pendingSearch.get(categoryId);
+ if (isPending == null) {
+ isPending = new AtomicBoolean(pending);
+ pendingSearch.put(categoryId, isPending);
+ } else {
+ isPending.getAndSet(pending);
+ }
+ }
+
+ fireCategoryChanged(CategoryEvent.CATEGORY_PENDING_STATUS_CHANGED, categoryId, null);
+ }
+
+ /**
+ * Clears the search results for all categories.
+ */
+ public void clearAllCategories() {
+ synchronized (currentSearchResults) {
+ currentSearchResults.clear();
+ }
+ fireModelChanged(ModelEvent.ALL_CATEGORIES_REMOVED);
+ }
+
+ /**
+ * Fires the given {@link ModelEvent}.
+ *
+ * @param type
+ * the event type
+ */
+ private void fireModelChanged(final ModelEvent type) {
+ // Notify the listeners
+ for (GlobalSearchEventListener listener : eventListener.getListeners(GlobalSearchEventListener.class)) {
+ listener.modelChanged(new GlobalSearchModelEvent(type));
+ }
+ }
+
+ /**
+ * Fires the given {@link CategoryEvent}.
+ *
+ * @param type
+ * the event type
+ * @param categoryId
+ * the search category id that was changed
+ * @param result the search result that caused the change, or {code null} if it was a pending state change
+ */
+ private void fireCategoryChanged(final CategoryEvent type, final String categoryId, final GlobalSearchResult result) {
+ // Notify the listeners
+ for (GlobalSearchEventListener listener : eventListener.getListeners(GlobalSearchEventListener.class)) {
+ listener.categoryChanged(categoryId, new GlobalSearchCategoryEvent(type), result);
+ }
+ }
+}
diff --git a/src/main/java/com/rapidminer/gui/search/model/GlobalSearchRow.java b/src/main/java/com/rapidminer/gui/search/model/GlobalSearchRow.java
new file mode 100644
index 000000000..dc87c2d23
--- /dev/null
+++ b/src/main/java/com/rapidminer/gui/search/model/GlobalSearchRow.java
@@ -0,0 +1,59 @@
+/**
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
+ *
+ * Complete list of developers available at our web site:
+ *
+ * http://rapidminer.com
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the
+ * GNU Affero General Public License as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * 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/.
+ */
+package com.rapidminer.gui.search.model;
+
+import org.apache.lucene.document.Document;
+
+import com.rapidminer.search.GlobalSearchUtilities;
+
+
+/**
+ * POJO for each row in the search results.
+ *
+ * @author Marco Boeck
+ * @since 8.1
+ */
+public final class GlobalSearchRow {
+
+ private final Document doc;
+ private final String[] bestFragments;
+
+ public GlobalSearchRow(final Document doc, final String[] bestFragments) {
+ this.doc = doc;
+ this.bestFragments = bestFragments;
+ }
+
+ /**
+ * The document for this row.
+ *
+ * @return the document, never {@code null}
+ */
+ public Document getDoc() {
+ return doc;
+ }
+
+ /**
+ * The best matching fragments of the name field for this row. Can be {@code null}.
+ *
+ * @return the best fragment of the {@link GlobalSearchUtilities#FIELD_NAME} or {@code null}
+ */
+ public String[] getBestFragments() {
+ return bestFragments;
+ }
+}
diff --git a/src/main/java/com/rapidminer/gui/security/CredentialsTableModel.java b/src/main/java/com/rapidminer/gui/security/CredentialsTableModel.java
index f234c56b5..71ad20027 100644
--- a/src/main/java/com/rapidminer/gui/security/CredentialsTableModel.java
+++ b/src/main/java/com/rapidminer/gui/security/CredentialsTableModel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -18,7 +18,10 @@
*/
package com.rapidminer.gui.security;
+import java.util.HashMap;
import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
import javax.swing.table.AbstractTableModel;
@@ -34,9 +37,16 @@ public class CredentialsTableModel extends AbstractTableModel {
private static final long serialVersionUID = 1L;
- private boolean showPasswords;
+ /** Bad luck if your future password consist of 14 stars */
+ private static final String HIDDEN_PASSWORD = "**************";
+ // column information
+ private static final int COLUMN_USER_INDEX = 2;
+ private static final int COLUMN_PASSWORD_INDEX = 3;
+ private static final int COLUMN_COUNT = 4;
+
private Wallet wallet;
- private LinkedList listOfWalletKeys = new LinkedList();
+ private List listOfWalletKeys = new LinkedList<>();
+ private Map modifiedPasswords = new HashMap<>();
public CredentialsTableModel(Wallet wallet) {
this.wallet = wallet;
@@ -44,11 +54,8 @@ public CredentialsTableModel(Wallet wallet) {
@Override
public int getColumnCount() {
- if (isShowPasswords()) {
- return 4;
+ return COLUMN_COUNT;
}
- return 3;
- }
@Override
public int getRowCount() {
@@ -70,10 +77,10 @@ public Object getValueAt(int rowIndex, int columnIndex) {
return getWallet().extractIdFromKey(listOfWalletKeys.get(rowIndex));
case 1:
return userCredential.getURL();
- case 2:
+ case COLUMN_USER_INDEX:
return userCredential.getUsername();
- case 3:
- return new String(userCredential.getPassword());
+ case COLUMN_PASSWORD_INDEX:
+ return HIDDEN_PASSWORD;
default:
throw new RuntimeException("No such column: " + columnIndex); // cannot happen
}
@@ -94,10 +101,11 @@ public void setValueAt(Object value, int row, int col) {
// uses list of keys directly which may or may not contain ID attribute, therefore this call
// is correct
UserCredential userCredential = getWallet().getEntry(listOfWalletKeys.get(row));
- if (col == 2) {
+ if (col == COLUMN_USER_INDEX) {
userCredential.setUser((String) value);
}
- if (col == 3) {
+ if (col == COLUMN_PASSWORD_INDEX && !HIDDEN_PASSWORD.equals(((String) value).trim())) {
+ modifiedPasswords.put(listOfWalletKeys.get(row), true);
userCredential.setPassword(((String) value).toCharArray());
}
@@ -112,24 +120,15 @@ public String getColumnName(int column) {
return "ID";
case 1:
return "URL";
- case 2:
+ case COLUMN_USER_INDEX:
return "Username";
- case 3:
+ case COLUMN_PASSWORD_INDEX:
return "Password";
default:
throw new RuntimeException("No such column: " + column); // cannot happen
}
}
- public void setShowPasswords(boolean showPasswords) {
- this.showPasswords = showPasswords;
- fireTableStructureChanged();
- }
-
- public boolean isShowPasswords() {
- return showPasswords;
- }
-
@SuppressWarnings("deprecation")
public void removeRow(int index) {
// uses list of keys directly which may or may not contain ID attribute, therefore this call
diff --git a/src/main/java/com/rapidminer/gui/security/PasswordManager.java b/src/main/java/com/rapidminer/gui/security/PasswordManager.java
index 78ce0497a..b20b63bd6 100644
--- a/src/main/java/com/rapidminer/gui/security/PasswordManager.java
+++ b/src/main/java/com/rapidminer/gui/security/PasswordManager.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -22,7 +22,6 @@
import java.awt.event.ActionEvent;
import java.util.ArrayList;
import java.util.Collections;
-
import javax.swing.Action;
import javax.swing.DefaultRowSorter;
import javax.swing.JButton;
@@ -31,6 +30,7 @@
import javax.swing.JTable;
import com.rapidminer.gui.ApplicationFrame;
+import com.rapidminer.gui.actions.ManagePasswordsAction;
import com.rapidminer.gui.tools.ExtendedJScrollPane;
import com.rapidminer.gui.tools.ResourceAction;
import com.rapidminer.gui.tools.dialogs.ButtonDialog;
@@ -47,29 +47,16 @@
*/
public class PasswordManager extends ButtonDialog {
- public static final Action OPEN_WINDOW = new ResourceAction("password_manager") {
-
- {
- setCondition(EDIT_IN_PROGRESS, DONT_CARE);
- }
-
- private static final long serialVersionUID = 1L;
-
- @Override
- public void loggedActionPerformed(ActionEvent e) {
- new PasswordManager().setVisible(true);
- }
- };
+ public static final Action OPEN_WINDOW = new ManagePasswordsAction();
private static final long serialVersionUID = 1L;
- private JButton showPasswordsButton;
private CredentialsTableModel credentialsModel;
private Wallet clone;
public PasswordManager() {
- super(ApplicationFrame.getApplicationFrame(), "password_manager", ModalityType.MODELESS, new Object[] {});
- this.clone = Wallet.getInstance().clone();
+ super(ApplicationFrame.getApplicationFrame(), "password_manager", ModalityType.MODELESS, new Object[0]);
+ this.clone = new Wallet(Wallet.getInstance());
credentialsModel = new CredentialsTableModel(clone);
final JTable table = new JTable(credentialsModel);
@@ -78,19 +65,8 @@ public PasswordManager() {
JScrollPane scrollPane = new ExtendedJScrollPane(table);
scrollPane.setBorder(null);
JPanel main = new JPanel(new BorderLayout());
- final JPanel showpasswordPanel = new JPanel(new BorderLayout());
main.add(scrollPane, BorderLayout.CENTER);
- ResourceAction showPasswordsAction = new ResourceAction("password_manager_showpasswords") {
-
- private static final long serialVersionUID = 1L;
-
- @Override
- public void loggedActionPerformed(ActionEvent e) {
- updateButton();
- }
- };
-
ResourceAction removePasswordAction = new ResourceAction("password_manager_remove_row") {
private static final long serialVersionUID = 1L;
@@ -110,9 +86,6 @@ public void loggedActionPerformed(ActionEvent e) {
};
JPanel buttonPanel = new JPanel(new BorderLayout());
- showPasswordsButton = new JButton(showPasswordsAction);
- showpasswordPanel.add(makeButtonPanel(showPasswordsButton));
- buttonPanel.add(showpasswordPanel, BorderLayout.WEST);
buttonPanel.add(makeButtonPanel(new JButton(removePasswordAction), makeOkButton("password_manager_save"),
makeCancelButton()), BorderLayout.EAST);
layoutDefault(main, buttonPanel, LARGE);
@@ -125,33 +98,4 @@ protected void ok() {
GlobalAuthenticator.refreshProxyAuthenticators();
super.ok();
}
-
- private void updateButton() {
- credentialsModel.setShowPasswords(!credentialsModel.isShowPasswords());
- if (!credentialsModel.isShowPasswords()) {
- // The Show Password Button
- ResourceAction showPasswords = new ResourceAction("password_manager_showpasswords") {
-
- private static final long serialVersionUID = 1L;
-
- @Override
- public void loggedActionPerformed(ActionEvent e) {
- updateButton();
- }
- };
- showPasswordsButton.setAction(showPasswords);
- } else {
- // The Hide Password Button
- ResourceAction hidePasswords = new ResourceAction("password_manager_hidepasswords") {
-
- private static final long serialVersionUID = 1L;
-
- @Override
- public void loggedActionPerformed(ActionEvent e) {
- updateButton();
- }
- };
- showPasswordsButton.setAction(hidePasswords);
- }
- }
}
diff --git a/src/main/java/com/rapidminer/gui/security/UserCredential.java b/src/main/java/com/rapidminer/gui/security/UserCredential.java
index 5876c0b38..ce1c3b3c9 100644
--- a/src/main/java/com/rapidminer/gui/security/UserCredential.java
+++ b/src/main/java/com/rapidminer/gui/security/UserCredential.java
@@ -1,31 +1,32 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
- *
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
+ *
* Complete list of developers available at our web site:
- *
+ *
* http://rapidminer.com
- *
+ *
* This program is free software: you can redistribute it and/or modify it under the terms of the
* GNU Affero General Public License as published by the Free Software Foundation, either version 3
* of the License, or (at your option) any later version.
- *
+ *
* 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/.
*/
package com.rapidminer.gui.security;
import java.net.PasswordAuthentication;
+import java.util.Arrays;
/**
* The user credentials stored in a {@link Wallet}. Each username belongs to one URL.
- *
+ *
* @author Miguel Buescher
- *
+ *
*/
public class UserCredential {
@@ -40,6 +41,10 @@ public UserCredential(String url, String user, char[] password) {
this.password = password;
}
+ public UserCredential(UserCredential entry) {
+ this(entry.getURL(), entry.getUsername(), Arrays.copyOf(entry.getPassword(), entry.getPassword().length));
+ }
+
public void setUser(String user) {
this.user = user;
}
@@ -63,9 +68,4 @@ public char[] getPassword() {
public PasswordAuthentication makePasswordAuthentication() {
return new PasswordAuthentication(getUsername(), getPassword());
}
-
- @Override
- public UserCredential clone() {
- return new UserCredential(getURL(), getUsername(), getPassword());
- }
}
diff --git a/src/main/java/com/rapidminer/gui/security/Wallet.java b/src/main/java/com/rapidminer/gui/security/Wallet.java
index d1e7585a2..b00cf484d 100644
--- a/src/main/java/com/rapidminer/gui/security/Wallet.java
+++ b/src/main/java/com/rapidminer/gui/security/Wallet.java
@@ -1,36 +1,39 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
- *
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
+ *
* Complete list of developers available at our web site:
- *
+ *
* http://rapidminer.com
- *
+ *
* This program is free software: you can redistribute it and/or modify it under the terms of the
* GNU Affero General Public License as published by the Free Software Foundation, either version 3
* of the License, or (at your option) any later version.
- *
+ *
* 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/.
-*/
+ */
package com.rapidminer.gui.security;
import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.util.HashMap;
-import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
+import java.util.Map;
import java.util.logging.Level;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
+import com.rapidminer.gui.tools.VersionNumber;
import com.rapidminer.io.Base64;
import com.rapidminer.io.process.XMLTools;
import com.rapidminer.tools.FileSystemService;
@@ -38,6 +41,8 @@
import com.rapidminer.tools.I18N;
import com.rapidminer.tools.LogService;
import com.rapidminer.tools.XMLException;
+import com.rapidminer.tools.cipher.CipherException;
+import com.rapidminer.tools.cipher.CipherTools;
/**
@@ -49,19 +54,28 @@
* the {@link PasswordManager} sets a new instance via {@link #setInstance(Wallet)} after editing.
*
* @author Miguel Buescher, Marco Boeck
- *
*/
@SuppressWarnings("deprecation")
public class Wallet {
private static final String CACHE_FILE_NAME = "secrets.xml";
- private HashMap wallet = new HashMap();
+ public static final int URL_ID_SPLIT_COUNT = 2;
+ private Map walletContent = new HashMap<>();
+ /**
+ * Version of the secrets xml that is necessary, triggers migration by saving the real secrets.xml is below this version
+ */
+ private static final VersionNumber SECRET_VERSION_NR = new VersionNumber(7, 5, 4);
+
+ private static final String VERSION_ATTRIBUTE = "version";
private static final String ID_PREFIX_URL_SEPERATOR = "___";
public static final String ID_MARKETPLACE = "Marketplace";
private static Wallet instance = new Wallet();
+ private static final boolean ACTIVE_MIGRATION_DEFAULT_VALUE = false;
+ private boolean activeMigration = ACTIVE_MIGRATION_DEFAULT_VALUE;
+
static {
instance.readCache();
}
@@ -80,7 +94,7 @@ public static void setInstance(Wallet wallet) {
}
/**
- * Reads the wallet from the secrets.xml file in the user's home directory.
+ * Reads the walletContent from the secrets.xml file in the user's home directory.
*/
public void readCache() {
final File userConfigFile = FileSystemService.getUserConfigFile(CACHE_FILE_NAME);
@@ -99,14 +113,40 @@ public void readCache() {
"com.rapidminer.gui.security.Wallet.reading_secrets_file_error", e), e);
return;
}
- readCache(doc);
+ VersionNumber secretXmlVersion = getVersionNumber(doc);
+ activeMigration = isMigrationRequired(secretXmlVersion);
+ try {
+ readCache(doc);
+ if (isMigrationRequired(secretXmlVersion)) {
+ saveCache();
+ }
+ } finally {
+ activeMigration = ACTIVE_MIGRATION_DEFAULT_VALUE;
+ }
+ }
+
+ private VersionNumber getVersionNumber(Document doc) {
+ VersionNumber secretXmlVersion = null;
+ try {
+ NodeList rootNode = doc.getElementsByTagName(CACHE_FILE_NAME);
+ NamedNodeMap attributes = rootNode.item(0).getAttributes();
+ Node versionValue = attributes.getNamedItem(VERSION_ATTRIBUTE);
+ secretXmlVersion = new VersionNumber(versionValue.getNodeValue());
+ } catch (Exception e) {
+ // attribute missing
+ }
+ return secretXmlVersion;
+ }
+
+ private boolean isMigrationRequired(VersionNumber secretXmlVersion) {
+ return secretXmlVersion == null || !secretXmlVersion.equals(SECRET_VERSION_NR) && secretXmlVersion.isAtMost(SECRET_VERSION_NR);
}
/**
* Reads the wallet from a {@link Document} object.
*
* @param doc
- * the document which contains the secrets
+ * the document which contains the secrets
*/
public void readCache(Document doc) {
NodeList secretElems = doc.getDocumentElement().getElementsByTagName("secret");
@@ -118,21 +158,22 @@ public void readCache(Document doc) {
String user = XMLTools.getTagContents(secretElem, "user");
char[] password;
try {
- password = new String(Base64.decode(XMLTools.getTagContents(secretElem, "password"))).toCharArray();
- } catch (IOException e) {
+ String passwordTagContent = XMLTools.getTagContents(secretElem, "password");
+ password = getDecodedPassword(passwordTagContent).toCharArray();
+ } catch (IOException | CipherException e) {
LogService.getRoot().log(
Level.WARNING,
I18N.getMessage(LogService.getRoot().getResourceBundle(),
- "com.rapidminer.gui.security.Wallet.reading_entry_in_secrets_file_error", e), e);
+ "com.rapidminer.gui.security.Wallet.reading_entry_in_secrets_file_error", id, e), e);
continue;
}
usercredential = new UserCredential(url, user, password);
if (id != null) {
// new entries with an id
- wallet.put(buildKey(id, usercredential.getURL()), usercredential);
+ walletContent.put(buildKey(id, usercredential.getURL()), usercredential);
} else {
// for old entries which do not have an id
- wallet.put(usercredential.getURL(), usercredential);
+ walletContent.put(usercredential.getURL(), usercredential);
}
}
}
@@ -145,7 +186,7 @@ public void readCache(Document doc) {
*/
@Deprecated
public void registerCredentials(UserCredential authentication) {
- wallet.put(authentication.getURL(), authentication);
+ walletContent.put(authentication.getURL(), authentication);
}
/**
@@ -155,13 +196,13 @@ public void registerCredentials(UserCredential authentication) {
* @param id
* @param authentication
* @throws IllegalArgumentException
- * if the key is null
+ * if the key is null
*/
- public void registerCredentials(String id, UserCredential authentication) throws IllegalArgumentException {
+ public void registerCredentials(String id, UserCredential authentication) {
if (id == null) {
throw new IllegalArgumentException("id must not be null!");
}
- wallet.put(buildKey(id, authentication.getURL()), authentication);
+ walletContent.put(buildKey(id, authentication.getURL()), authentication);
// we need to consider possibility of an old entry for the same URL, remove it here because
// it got replaced
@@ -176,28 +217,32 @@ public void registerCredentials(String id, UserCredential authentication) throws
* @return
*/
public int size() {
- return wallet.size();
+ return walletContent.size();
}
/**
- * Deep clone.
+ * Default empty constructor.
*/
- @Override
- public Wallet clone() {
- Wallet clone = new Wallet();
- for (String key : this.getKeys()) {
+ public Wallet() {
+ super();
+ }
+
+ /**
+ * Deep clone constructor.
+ */
+ public Wallet(Wallet clonethis) {
+ for (String key : clonethis.getKeys()) {
String[] urlAndMaybeID = key.split(ID_PREFIX_URL_SEPERATOR);
- if (urlAndMaybeID.length == 2) {
+ if (urlAndMaybeID.length == URL_ID_SPLIT_COUNT) {
// this is for new keys which have an ID prefix
- UserCredential entry = wallet.get(buildKey(urlAndMaybeID[0], urlAndMaybeID[1]));
- clone.registerCredentials(urlAndMaybeID[0], entry.clone());
+ UserCredential entry = clonethis.getEntry(buildKey(urlAndMaybeID[0], urlAndMaybeID[1]));
+ registerCredentials(urlAndMaybeID[0], new UserCredential(entry));
} else {
// old keys which do not yet have the ID prefix
- UserCredential entry = wallet.get(key);
- clone.registerCredentials(entry.clone());
+ UserCredential entry = clonethis.getEntry(key);
+ registerCredentials(new UserCredential(entry));
}
}
- return clone;
}
/**
@@ -205,13 +250,8 @@ public Wallet clone() {
*
* @return
*/
- public LinkedList getKeys() {
- Iterator it = wallet.keySet().iterator();
- LinkedList keyset = new LinkedList();
- while (it.hasNext()) {
- keyset.add(it.next());
- }
- return keyset;
+ public List getKeys() {
+ return new LinkedList<>(walletContent.keySet());
}
/**
@@ -224,7 +264,7 @@ public LinkedList getKeys() {
*/
@Deprecated
public UserCredential getEntry(String url) {
- return wallet.get(url);
+ return walletContent.get(url);
}
/**
@@ -237,10 +277,10 @@ public UserCredential getEntry(String url) {
* @return
*/
public UserCredential getEntry(String id, String url) {
- UserCredential credentials = wallet.get(buildKey(id, url));
+ UserCredential credentials = walletContent.get(buildKey(id, url));
if (credentials == null) {
// fallback for old entries which can supply a null key
- credentials = wallet.get(url);
+ credentials = walletContent.get(url);
}
return credentials;
@@ -254,7 +294,7 @@ public UserCredential getEntry(String id, String url) {
*/
@Deprecated
public void removeEntry(String url) {
- wallet.remove(url);
+ walletContent.remove(url);
}
/**
@@ -264,39 +304,65 @@ public void removeEntry(String url) {
* @param url
*/
public void removeEntry(String id, String url) {
- wallet.remove(buildKey(id, url));
+ walletContent.remove(buildKey(id, url));
}
/**
- * Creates a XML representation of the wallet.
+ * Creates a XML representation of the walletContent.
*
* @return The XML document.
*/
public Document getWalletAsXML() {
Document doc = XMLTools.createDocument();
Element root = doc.createElement(CACHE_FILE_NAME);
+ root.setAttribute(VERSION_ATTRIBUTE, SECRET_VERSION_NR.getLongVersion());
doc.appendChild(root);
for (String key : getKeys()) {
- Element entryElem = doc.createElement("secret");
- root.appendChild(entryElem);
- String[] urlAndMaybeID = key.split(ID_PREFIX_URL_SEPERATOR);
- if (urlAndMaybeID.length == 2) {
- // this is for new keys which have an ID prefix
- XMLTools.setTagContents(entryElem, "id", urlAndMaybeID[0]);
- XMLTools.setTagContents(entryElem, "url", urlAndMaybeID[1]);
- } else {
- // old keys which do not yet have the ID prefix
- XMLTools.setTagContents(entryElem, "url", key);
+ try {
+ Element entryElem = doc.createElement("secret");
+ String[] urlAndMaybeID = key.split(ID_PREFIX_URL_SEPERATOR);
+ if (urlAndMaybeID.length == URL_ID_SPLIT_COUNT) {
+ // this is for new keys which have an ID prefix
+ XMLTools.setTagContents(entryElem, "id", urlAndMaybeID[0]);
+ XMLTools.setTagContents(entryElem, "url", urlAndMaybeID[1]);
+ } else {
+ // old keys which do not yet have the ID prefix
+ XMLTools.setTagContents(entryElem, "url", key);
+ }
+ XMLTools.setTagContents(entryElem, "user", walletContent.get(key).getUsername());
+ XMLTools.setTagContents(entryElem, "password", getEncodedPassword(new String(walletContent.get(key).getPassword())));
+ root.appendChild(entryElem);
+ } catch (CipherException e) {
+ LogService.getRoot().log(
+ Level.INFO,
+ I18N.getMessage(LogService.getRoot().getResourceBundle(),
+ "com.rapidminer.gui.security.Wallet.store_entry_failed", key, e), e);
}
- XMLTools.setTagContents(entryElem, "user", wallet.get(key).getUsername());
- XMLTools.setTagContents(entryElem, "password",
- Base64.encodeBytes(new String(wallet.get(key).getPassword()).getBytes()));
}
return doc;
}
+ private String getEncodedPassword(String string) throws CipherException {
+ return CipherTools.encrypt(string);
+ }
+
+ private String getDecodedPassword(String string) throws CipherException, IOException {
+ if (CipherTools.isKeyAvailable()) {
+ try {
+ return CipherTools.decrypt(string);
+ } catch (CipherException e) {
+ // old password storage detected, use obsolete password decoding mechanism for migration only
+ if (!activeMigration) {
+ // not accepting old decoding in a up-to-date secrets file
+ throw e;
+ }
+ }
+ }
+ return new String(Base64.decode(string));
+ }
+
/**
- * Saves the wallet to the secrets.xml file in the users home directory.
+ * Saves the walletContent to the secrets.xml file in the users home directory.
*/
public void saveCache() {
LogService.getRoot().log(Level.CONFIG, "com.rapidminer.gui.security.Wallet.saving_secrets_file");
@@ -332,11 +398,10 @@ private String buildKey(String id, String url) {
*/
public String extractIdFromKey(String key) {
String[] urlAndMaybeID = key.split(ID_PREFIX_URL_SEPERATOR);
- if (urlAndMaybeID.length == 2) {
+ if (urlAndMaybeID.length == URL_ID_SPLIT_COUNT) {
return urlAndMaybeID[0];
} else {
return null;
}
}
-
}
diff --git a/src/main/java/com/rapidminer/gui/tools/ArrowButton.java b/src/main/java/com/rapidminer/gui/tools/ArrowButton.java
index 8682457cc..f9c5e29e5 100644
--- a/src/main/java/com/rapidminer/gui/tools/ArrowButton.java
+++ b/src/main/java/com/rapidminer/gui/tools/ArrowButton.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/AttributeGuiTools.java b/src/main/java/com/rapidminer/gui/tools/AttributeGuiTools.java
index 7162fb35b..0c3396627 100644
--- a/src/main/java/com/rapidminer/gui/tools/AttributeGuiTools.java
+++ b/src/main/java/com/rapidminer/gui/tools/AttributeGuiTools.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/AutoCompletionComboBox.java b/src/main/java/com/rapidminer/gui/tools/AutoCompletionComboBox.java
index 59435bf63..c6ca58799 100644
--- a/src/main/java/com/rapidminer/gui/tools/AutoCompletionComboBox.java
+++ b/src/main/java/com/rapidminer/gui/tools/AutoCompletionComboBox.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/BetaFeaturesIndicator.java b/src/main/java/com/rapidminer/gui/tools/BetaFeaturesIndicator.java
index 74eec2e63..95299232a 100644
--- a/src/main/java/com/rapidminer/gui/tools/BetaFeaturesIndicator.java
+++ b/src/main/java/com/rapidminer/gui/tools/BetaFeaturesIndicator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/BrowserPopup.java b/src/main/java/com/rapidminer/gui/tools/BrowserPopup.java
index 5b1ed7b16..34a2e2959 100644
--- a/src/main/java/com/rapidminer/gui/tools/BrowserPopup.java
+++ b/src/main/java/com/rapidminer/gui/tools/BrowserPopup.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/CamelCaseFilter.java b/src/main/java/com/rapidminer/gui/tools/CamelCaseFilter.java
index e615ec467..387dea134 100644
--- a/src/main/java/com/rapidminer/gui/tools/CamelCaseFilter.java
+++ b/src/main/java/com/rapidminer/gui/tools/CamelCaseFilter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/CamelCaseTypoFilter.java b/src/main/java/com/rapidminer/gui/tools/CamelCaseTypoFilter.java
index 2189d4278..620449025 100644
--- a/src/main/java/com/rapidminer/gui/tools/CamelCaseTypoFilter.java
+++ b/src/main/java/com/rapidminer/gui/tools/CamelCaseTypoFilter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/CellColorProvider.java b/src/main/java/com/rapidminer/gui/tools/CellColorProvider.java
index 271818cc0..27798be35 100644
--- a/src/main/java/com/rapidminer/gui/tools/CellColorProvider.java
+++ b/src/main/java/com/rapidminer/gui/tools/CellColorProvider.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/CellColorProviderAlternating.java b/src/main/java/com/rapidminer/gui/tools/CellColorProviderAlternating.java
index 4e683536d..f2344dd35 100644
--- a/src/main/java/com/rapidminer/gui/tools/CellColorProviderAlternating.java
+++ b/src/main/java/com/rapidminer/gui/tools/CellColorProviderAlternating.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/CellColorProviderScaled.java b/src/main/java/com/rapidminer/gui/tools/CellColorProviderScaled.java
index 1e3ee1e80..7a17b0330 100644
--- a/src/main/java/com/rapidminer/gui/tools/CellColorProviderScaled.java
+++ b/src/main/java/com/rapidminer/gui/tools/CellColorProviderScaled.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/CellColorProviderWhite.java b/src/main/java/com/rapidminer/gui/tools/CellColorProviderWhite.java
index 099185844..aaf9f2f48 100644
--- a/src/main/java/com/rapidminer/gui/tools/CellColorProviderWhite.java
+++ b/src/main/java/com/rapidminer/gui/tools/CellColorProviderWhite.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/CellColorProviderYellow.java b/src/main/java/com/rapidminer/gui/tools/CellColorProviderYellow.java
index aca2b52e7..7e129af19 100644
--- a/src/main/java/com/rapidminer/gui/tools/CellColorProviderYellow.java
+++ b/src/main/java/com/rapidminer/gui/tools/CellColorProviderYellow.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/CharTextField.java b/src/main/java/com/rapidminer/gui/tools/CharTextField.java
index 486214b37..1aa3aa2bc 100644
--- a/src/main/java/com/rapidminer/gui/tools/CharTextField.java
+++ b/src/main/java/com/rapidminer/gui/tools/CharTextField.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/ColoredJTextPane.java b/src/main/java/com/rapidminer/gui/tools/ColoredJTextPane.java
index 81110272e..a813a99ca 100644
--- a/src/main/java/com/rapidminer/gui/tools/ColoredJTextPane.java
+++ b/src/main/java/com/rapidminer/gui/tools/ColoredJTextPane.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/ColoredTableCellRenderer.java b/src/main/java/com/rapidminer/gui/tools/ColoredTableCellRenderer.java
index dd7df5ee0..604ede979 100644
--- a/src/main/java/com/rapidminer/gui/tools/ColoredTableCellRenderer.java
+++ b/src/main/java/com/rapidminer/gui/tools/ColoredTableCellRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/DefaultFrameIconProvider.java b/src/main/java/com/rapidminer/gui/tools/DefaultFrameIconProvider.java
index 71f39aa39..8aec9e2fc 100644
--- a/src/main/java/com/rapidminer/gui/tools/DefaultFrameIconProvider.java
+++ b/src/main/java/com/rapidminer/gui/tools/DefaultFrameIconProvider.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/DockingTools.java b/src/main/java/com/rapidminer/gui/tools/DockingTools.java
index e4d96c3dc..3f9bc4f97 100644
--- a/src/main/java/com/rapidminer/gui/tools/DockingTools.java
+++ b/src/main/java/com/rapidminer/gui/tools/DockingTools.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/EditBlockingProgressThread.java b/src/main/java/com/rapidminer/gui/tools/EditBlockingProgressThread.java
index 42d55b173..a16c17a7e 100644
--- a/src/main/java/com/rapidminer/gui/tools/EditBlockingProgressThread.java
+++ b/src/main/java/com/rapidminer/gui/tools/EditBlockingProgressThread.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/ExtendedCheckTree.java b/src/main/java/com/rapidminer/gui/tools/ExtendedCheckTree.java
index 718a5339c..d4adffbdc 100644
--- a/src/main/java/com/rapidminer/gui/tools/ExtendedCheckTree.java
+++ b/src/main/java/com/rapidminer/gui/tools/ExtendedCheckTree.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/ExtendedCheckTreeCellRenderer.java b/src/main/java/com/rapidminer/gui/tools/ExtendedCheckTreeCellRenderer.java
index fb4ae3c46..051a8835b 100644
--- a/src/main/java/com/rapidminer/gui/tools/ExtendedCheckTreeCellRenderer.java
+++ b/src/main/java/com/rapidminer/gui/tools/ExtendedCheckTreeCellRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/ExtendedCheckTreeMouseSelectionManager.java b/src/main/java/com/rapidminer/gui/tools/ExtendedCheckTreeMouseSelectionManager.java
index 04440926a..319a3e4b3 100644
--- a/src/main/java/com/rapidminer/gui/tools/ExtendedCheckTreeMouseSelectionManager.java
+++ b/src/main/java/com/rapidminer/gui/tools/ExtendedCheckTreeMouseSelectionManager.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/ExtendedCheckTreeSelectionModel.java b/src/main/java/com/rapidminer/gui/tools/ExtendedCheckTreeSelectionModel.java
index e2c15009d..7a15ed0a4 100644
--- a/src/main/java/com/rapidminer/gui/tools/ExtendedCheckTreeSelectionModel.java
+++ b/src/main/java/com/rapidminer/gui/tools/ExtendedCheckTreeSelectionModel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/ExtendedFixedColumnJTable.java b/src/main/java/com/rapidminer/gui/tools/ExtendedFixedColumnJTable.java
index 3632e3241..6eb5a45e1 100644
--- a/src/main/java/com/rapidminer/gui/tools/ExtendedFixedColumnJTable.java
+++ b/src/main/java/com/rapidminer/gui/tools/ExtendedFixedColumnJTable.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/ExtendedHTMLEditorKit.java b/src/main/java/com/rapidminer/gui/tools/ExtendedHTMLEditorKit.java
index f5e86dcfd..3cca5208b 100644
--- a/src/main/java/com/rapidminer/gui/tools/ExtendedHTMLEditorKit.java
+++ b/src/main/java/com/rapidminer/gui/tools/ExtendedHTMLEditorKit.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/ExtendedHTMLJEditorPane.java b/src/main/java/com/rapidminer/gui/tools/ExtendedHTMLJEditorPane.java
index 5021829cd..7f0233690 100644
--- a/src/main/java/com/rapidminer/gui/tools/ExtendedHTMLJEditorPane.java
+++ b/src/main/java/com/rapidminer/gui/tools/ExtendedHTMLJEditorPane.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/ExtendedJComboBox.java b/src/main/java/com/rapidminer/gui/tools/ExtendedJComboBox.java
index f94c6a0d5..88988e230 100644
--- a/src/main/java/com/rapidminer/gui/tools/ExtendedJComboBox.java
+++ b/src/main/java/com/rapidminer/gui/tools/ExtendedJComboBox.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/ExtendedJFileChooser.java b/src/main/java/com/rapidminer/gui/tools/ExtendedJFileChooser.java
index 3b8fe15c8..28098e53f 100644
--- a/src/main/java/com/rapidminer/gui/tools/ExtendedJFileChooser.java
+++ b/src/main/java/com/rapidminer/gui/tools/ExtendedJFileChooser.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/ExtendedJList.java b/src/main/java/com/rapidminer/gui/tools/ExtendedJList.java
index 384fc7790..4e0984475 100644
--- a/src/main/java/com/rapidminer/gui/tools/ExtendedJList.java
+++ b/src/main/java/com/rapidminer/gui/tools/ExtendedJList.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/ExtendedJScrollPane.java b/src/main/java/com/rapidminer/gui/tools/ExtendedJScrollPane.java
index 034bc5cd3..e343a15f2 100644
--- a/src/main/java/com/rapidminer/gui/tools/ExtendedJScrollPane.java
+++ b/src/main/java/com/rapidminer/gui/tools/ExtendedJScrollPane.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/ExtendedJSlider.java b/src/main/java/com/rapidminer/gui/tools/ExtendedJSlider.java
index 890ead73f..0f4386f47 100644
--- a/src/main/java/com/rapidminer/gui/tools/ExtendedJSlider.java
+++ b/src/main/java/com/rapidminer/gui/tools/ExtendedJSlider.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/ExtendedJSliderToolTips.java b/src/main/java/com/rapidminer/gui/tools/ExtendedJSliderToolTips.java
index b61aa5b02..fb560a104 100644
--- a/src/main/java/com/rapidminer/gui/tools/ExtendedJSliderToolTips.java
+++ b/src/main/java/com/rapidminer/gui/tools/ExtendedJSliderToolTips.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/ExtendedJTabbedPane.java b/src/main/java/com/rapidminer/gui/tools/ExtendedJTabbedPane.java
index c08d3e897..25c75aa8d 100644
--- a/src/main/java/com/rapidminer/gui/tools/ExtendedJTabbedPane.java
+++ b/src/main/java/com/rapidminer/gui/tools/ExtendedJTabbedPane.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/ExtendedJTable.java b/src/main/java/com/rapidminer/gui/tools/ExtendedJTable.java
index 89eef6e99..24cf41d7e 100644
--- a/src/main/java/com/rapidminer/gui/tools/ExtendedJTable.java
+++ b/src/main/java/com/rapidminer/gui/tools/ExtendedJTable.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/ExtendedJTableColumnFitMouseListener.java b/src/main/java/com/rapidminer/gui/tools/ExtendedJTableColumnFitMouseListener.java
index 9a242437e..88096cb3e 100644
--- a/src/main/java/com/rapidminer/gui/tools/ExtendedJTableColumnFitMouseListener.java
+++ b/src/main/java/com/rapidminer/gui/tools/ExtendedJTableColumnFitMouseListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/ExtendedJTablePacker.java b/src/main/java/com/rapidminer/gui/tools/ExtendedJTablePacker.java
index bdfdd5f5d..14cf90368 100644
--- a/src/main/java/com/rapidminer/gui/tools/ExtendedJTablePacker.java
+++ b/src/main/java/com/rapidminer/gui/tools/ExtendedJTablePacker.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/ExtendedJTableSorterModel.java b/src/main/java/com/rapidminer/gui/tools/ExtendedJTableSorterModel.java
index 8975df59f..af65ca8ce 100644
--- a/src/main/java/com/rapidminer/gui/tools/ExtendedJTableSorterModel.java
+++ b/src/main/java/com/rapidminer/gui/tools/ExtendedJTableSorterModel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/ExtendedJTextField.java b/src/main/java/com/rapidminer/gui/tools/ExtendedJTextField.java
index 1c6a776cb..ce5b7f9ca 100644
--- a/src/main/java/com/rapidminer/gui/tools/ExtendedJTextField.java
+++ b/src/main/java/com/rapidminer/gui/tools/ExtendedJTextField.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/ExtendedJToolBar.java b/src/main/java/com/rapidminer/gui/tools/ExtendedJToolBar.java
index cad423d0e..508883792 100644
--- a/src/main/java/com/rapidminer/gui/tools/ExtendedJToolBar.java
+++ b/src/main/java/com/rapidminer/gui/tools/ExtendedJToolBar.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/ExtendedListCellRenderer.java b/src/main/java/com/rapidminer/gui/tools/ExtendedListCellRenderer.java
index 2578674cb..7cc4604fa 100644
--- a/src/main/java/com/rapidminer/gui/tools/ExtendedListCellRenderer.java
+++ b/src/main/java/com/rapidminer/gui/tools/ExtendedListCellRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/ExtendedListModel.java b/src/main/java/com/rapidminer/gui/tools/ExtendedListModel.java
index ce6c5d632..432b14828 100644
--- a/src/main/java/com/rapidminer/gui/tools/ExtendedListModel.java
+++ b/src/main/java/com/rapidminer/gui/tools/ExtendedListModel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/ExtendedStyledDocument.java b/src/main/java/com/rapidminer/gui/tools/ExtendedStyledDocument.java
index 34e2bdc7f..8da59a7c8 100644
--- a/src/main/java/com/rapidminer/gui/tools/ExtendedStyledDocument.java
+++ b/src/main/java/com/rapidminer/gui/tools/ExtendedStyledDocument.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/ExtendedTriStateCheckBox.java b/src/main/java/com/rapidminer/gui/tools/ExtendedTriStateCheckBox.java
index eab0286a0..33d8a9557 100644
--- a/src/main/java/com/rapidminer/gui/tools/ExtendedTriStateCheckBox.java
+++ b/src/main/java/com/rapidminer/gui/tools/ExtendedTriStateCheckBox.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/FilterListener.java b/src/main/java/com/rapidminer/gui/tools/FilterListener.java
index 3a069782f..2cd368fbf 100644
--- a/src/main/java/com/rapidminer/gui/tools/FilterListener.java
+++ b/src/main/java/com/rapidminer/gui/tools/FilterListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/FilterTextField.java b/src/main/java/com/rapidminer/gui/tools/FilterTextField.java
index a848c8fe1..d077aa167 100644
--- a/src/main/java/com/rapidminer/gui/tools/FilterTextField.java
+++ b/src/main/java/com/rapidminer/gui/tools/FilterTextField.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -18,8 +18,6 @@
*/
package com.rapidminer.gui.tools;
-import com.rapidminer.tools.I18N;
-
import java.awt.Color;
import java.awt.Font;
import java.awt.event.FocusEvent;
@@ -28,13 +26,14 @@
import java.awt.event.KeyListener;
import java.util.Collection;
import java.util.LinkedList;
-
import javax.swing.JTextField;
import javax.swing.text.Document;
import org.jdesktop.swingx.prompt.PromptSupport;
import org.jdesktop.swingx.prompt.PromptSupport.FocusBehavior;
+import com.rapidminer.tools.I18N;
+
/**
* A text field for JList, JTable, or JTree filters. Updates all registered {@link FilterListener}
@@ -48,6 +47,9 @@ public class FilterTextField extends JTextField {
private String defaultFilterText = I18N.getMessage(I18N.getGUIBundle(), "gui.filter_text_field.label");
+ /** the value of the field when the last update was fired */
+ private String valueLastUpdate = null;
+
private final Collection filterListeners;
private final Collection selectionNavigationListeners;
@@ -83,13 +85,6 @@ public FilterTextField(Document doc, String text, int columns) {
@Override
public void keyPressed(KeyEvent e) {
- if ((e == null)
- || ((e.getKeyCode() != KeyEvent.VK_BACK_SPACE) && (e.getKeyCode() != KeyEvent.VK_ESCAPE)
- && (e.getKeyCode() != KeyEvent.VK_DELETE) && (e.getKeyCode() != KeyEvent.VK_SHIFT)
- && (e.getKeyCode() != KeyEvent.VK_ALT) && (e.getKeyCode() != KeyEvent.VK_ALT_GRAPH)
- && (e.getKeyCode() != KeyEvent.VK_CONTROL) && (e.getKeyCode() != KeyEvent.VK_META) && (!e
- .isActionKey()))) {
- }
if (e == null) {
return;
}
@@ -160,6 +155,11 @@ public void clearFilter() {
private void updateFilter(KeyEvent e) {
String filterText = getText();
+ // do nothing if no actual change was done
+ if (valueLastUpdate != null && valueLastUpdate.equals(filterText)) {
+ return;
+ }
+
if ((filterText == null) || (filterText.length() == 0)) {
if ((e == null)
|| ((e.getKeyCode() != KeyEvent.VK_BACK_SPACE) && (e.getKeyCode() != KeyEvent.VK_DELETE)
@@ -169,6 +169,9 @@ private void updateFilter(KeyEvent e) {
setText(null);
}
}
+
+ // store text when listeners were notified
+ valueLastUpdate = filterText;
for (FilterListener l : filterListeners) {
l.valueChanged(filterText);
}
diff --git a/src/main/java/com/rapidminer/gui/tools/FilterableListModel.java b/src/main/java/com/rapidminer/gui/tools/FilterableListModel.java
index 8d74589b7..e4adfd80d 100644
--- a/src/main/java/com/rapidminer/gui/tools/FilterableListModel.java
+++ b/src/main/java/com/rapidminer/gui/tools/FilterableListModel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/FrameIconProvider.java b/src/main/java/com/rapidminer/gui/tools/FrameIconProvider.java
index 6ad675594..a60383664 100644
--- a/src/main/java/com/rapidminer/gui/tools/FrameIconProvider.java
+++ b/src/main/java/com/rapidminer/gui/tools/FrameIconProvider.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/HTMLEditor.java b/src/main/java/com/rapidminer/gui/tools/HTMLEditor.java
index 640c8f0d5..2339779c9 100644
--- a/src/main/java/com/rapidminer/gui/tools/HTMLEditor.java
+++ b/src/main/java/com/rapidminer/gui/tools/HTMLEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/IconSize.java b/src/main/java/com/rapidminer/gui/tools/IconSize.java
index 73e94be22..37c27e9d0 100644
--- a/src/main/java/com/rapidminer/gui/tools/IconSize.java
+++ b/src/main/java/com/rapidminer/gui/tools/IconSize.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -20,14 +20,14 @@
/**
* This enumeration hold the information about all available icon sizes (mainly used for actions).
- * Currently, only icon sizes 24 and 32 are supported. 32 should be used for tool bars and 24 in
- * menus.
+ * Currently, only icon sizes 16, 24, and 48 are supported. 16 should be used for small entries (e.g. lists) and 24 in
+ * menus, while 48 can be used for large panels.
*
* @author Ingo Mierswa
*/
public enum IconSize {
- SMALL(16), LARGE(24);
+ SMALL(16), LARGE(24), HUGE(48);
private int size;
diff --git a/src/main/java/com/rapidminer/gui/tools/ImagePanel.java b/src/main/java/com/rapidminer/gui/tools/ImagePanel.java
index acff3d6e1..41a545d4a 100644
--- a/src/main/java/com/rapidminer/gui/tools/ImagePanel.java
+++ b/src/main/java/com/rapidminer/gui/tools/ImagePanel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/ImageTextPanel.java b/src/main/java/com/rapidminer/gui/tools/ImageTextPanel.java
index a24df36dd..6baa53420 100644
--- a/src/main/java/com/rapidminer/gui/tools/ImageTextPanel.java
+++ b/src/main/java/com/rapidminer/gui/tools/ImageTextPanel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/Ionicon.java b/src/main/java/com/rapidminer/gui/tools/Ionicon.java
index 538d4417c..e58ad2a7e 100644
--- a/src/main/java/com/rapidminer/gui/tools/Ionicon.java
+++ b/src/main/java/com/rapidminer/gui/tools/Ionicon.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/JDelayedCalculationPanel.java b/src/main/java/com/rapidminer/gui/tools/JDelayedCalculationPanel.java
index 3739d71ec..9c20fb4eb 100644
--- a/src/main/java/com/rapidminer/gui/tools/JDelayedCalculationPanel.java
+++ b/src/main/java/com/rapidminer/gui/tools/JDelayedCalculationPanel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/JRadioSelectionPanel.java b/src/main/java/com/rapidminer/gui/tools/JRadioSelectionPanel.java
index c2a28c5d5..f72dbe0a8 100644
--- a/src/main/java/com/rapidminer/gui/tools/JRadioSelectionPanel.java
+++ b/src/main/java/com/rapidminer/gui/tools/JRadioSelectionPanel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/JavaEditor.java b/src/main/java/com/rapidminer/gui/tools/JavaEditor.java
index 7cb9600d5..505416fed 100644
--- a/src/main/java/com/rapidminer/gui/tools/JavaEditor.java
+++ b/src/main/java/com/rapidminer/gui/tools/JavaEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/LeanFormatter.java b/src/main/java/com/rapidminer/gui/tools/LeanFormatter.java
index 2907a22a8..f280d7a65 100644
--- a/src/main/java/com/rapidminer/gui/tools/LeanFormatter.java
+++ b/src/main/java/com/rapidminer/gui/tools/LeanFormatter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/ListHoverHelper.java b/src/main/java/com/rapidminer/gui/tools/ListHoverHelper.java
index 35b52260e..81c976c03 100644
--- a/src/main/java/com/rapidminer/gui/tools/ListHoverHelper.java
+++ b/src/main/java/com/rapidminer/gui/tools/ListHoverHelper.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/NotificationPopup.java b/src/main/java/com/rapidminer/gui/tools/NotificationPopup.java
index 076d9103e..9efcd5b76 100644
--- a/src/main/java/com/rapidminer/gui/tools/NotificationPopup.java
+++ b/src/main/java/com/rapidminer/gui/tools/NotificationPopup.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/OperatorFilter.java b/src/main/java/com/rapidminer/gui/tools/OperatorFilter.java
index 5075066c2..a691a2a74 100644
--- a/src/main/java/com/rapidminer/gui/tools/OperatorFilter.java
+++ b/src/main/java/com/rapidminer/gui/tools/OperatorFilter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/OperatorList.java b/src/main/java/com/rapidminer/gui/tools/OperatorList.java
index 04de6190b..33044f284 100644
--- a/src/main/java/com/rapidminer/gui/tools/OperatorList.java
+++ b/src/main/java/com/rapidminer/gui/tools/OperatorList.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/OperatorListCellRenderer.java b/src/main/java/com/rapidminer/gui/tools/OperatorListCellRenderer.java
index a66efad51..ee799d252 100644
--- a/src/main/java/com/rapidminer/gui/tools/OperatorListCellRenderer.java
+++ b/src/main/java/com/rapidminer/gui/tools/OperatorListCellRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -20,16 +20,11 @@
import java.awt.Color;
import java.awt.Component;
-import java.util.logging.Level;
-
import javax.swing.DefaultListCellRenderer;
import javax.swing.JLabel;
import javax.swing.JList;
-import com.rapidminer.operator.Operator;
-import com.rapidminer.operator.OperatorCreationException;
import com.rapidminer.operator.OperatorDescription;
-import com.rapidminer.tools.LogService;
/**
@@ -63,15 +58,6 @@ public Component getListCellRendererComponent(JList> list, Object value, int i
label.setBackground(SwingTools.LIGHTEST_BLUE);
}
- Operator operator = null;
- try {
- operator = operatorDescription.createOperatorInstance();
- } catch (OperatorCreationException e) {
- // tries to create operator
- LogService.getRoot().log(Level.WARNING,
- "com.rapidminer.gui.tools.OperatorListCellRenderer.problem_during_creating_of_operator_instance",
- e.getMessage());
- }
String descriptionString = operatorDescription.getLongDescriptionHTML();
if (descriptionString == null) {
descriptionString = operatorDescription.getShortDescription();
@@ -79,8 +65,7 @@ public Component getListCellRendererComponent(JList> list, Object value, int i
StringBuffer toolTipText = new StringBuffer("Description: " + descriptionString);
label.setToolTipText(SwingTools.transformToolTipText(toolTipText.toString(), false, false));
- if (operatorDescription.getDeprecationInfo() != null || operator != null
- && operator.getOperatorDescription().getDeprecationInfo() != null) {
+ if (operatorDescription.isDeprecated()) {
label.setForeground(Color.LIGHT_GRAY);
}
label.setBorder(null);
diff --git a/src/main/java/com/rapidminer/gui/tools/ParentButtonModel.java b/src/main/java/com/rapidminer/gui/tools/ParentButtonModel.java
index df6e0d436..931fdedf9 100644
--- a/src/main/java/com/rapidminer/gui/tools/ParentButtonModel.java
+++ b/src/main/java/com/rapidminer/gui/tools/ParentButtonModel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/ParentButtonPanel.java b/src/main/java/com/rapidminer/gui/tools/ParentButtonPanel.java
index 439636990..b682a0394 100644
--- a/src/main/java/com/rapidminer/gui/tools/ParentButtonPanel.java
+++ b/src/main/java/com/rapidminer/gui/tools/ParentButtonPanel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/PasswordDialog.java b/src/main/java/com/rapidminer/gui/tools/PasswordDialog.java
index 71b8a11dd..91e9c5be1 100644
--- a/src/main/java/com/rapidminer/gui/tools/PasswordDialog.java
+++ b/src/main/java/com/rapidminer/gui/tools/PasswordDialog.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/PlainTextEditor.java b/src/main/java/com/rapidminer/gui/tools/PlainTextEditor.java
index 2615d3321..1460b399e 100644
--- a/src/main/java/com/rapidminer/gui/tools/PlainTextEditor.java
+++ b/src/main/java/com/rapidminer/gui/tools/PlainTextEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/PrintingTools.java b/src/main/java/com/rapidminer/gui/tools/PrintingTools.java
index ba0e95782..4b8707b84 100644
--- a/src/main/java/com/rapidminer/gui/tools/PrintingTools.java
+++ b/src/main/java/com/rapidminer/gui/tools/PrintingTools.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/ProcessGUITools.java b/src/main/java/com/rapidminer/gui/tools/ProcessGUITools.java
index 88503be2f..e36df3638 100644
--- a/src/main/java/com/rapidminer/gui/tools/ProcessGUITools.java
+++ b/src/main/java/com/rapidminer/gui/tools/ProcessGUITools.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/ProgressDisplay.java b/src/main/java/com/rapidminer/gui/tools/ProgressDisplay.java
index 840802913..b3bb68006 100644
--- a/src/main/java/com/rapidminer/gui/tools/ProgressDisplay.java
+++ b/src/main/java/com/rapidminer/gui/tools/ProgressDisplay.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/ProgressMonitor.java b/src/main/java/com/rapidminer/gui/tools/ProgressMonitor.java
index 7af954946..97c103c47 100644
--- a/src/main/java/com/rapidminer/gui/tools/ProgressMonitor.java
+++ b/src/main/java/com/rapidminer/gui/tools/ProgressMonitor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/ProgressThread.java b/src/main/java/com/rapidminer/gui/tools/ProgressThread.java
index 7318a517e..8a6ed2b17 100644
--- a/src/main/java/com/rapidminer/gui/tools/ProgressThread.java
+++ b/src/main/java/com/rapidminer/gui/tools/ProgressThread.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/ProgressThreadDialog.java b/src/main/java/com/rapidminer/gui/tools/ProgressThreadDialog.java
index 27b0627ef..9deb90139 100644
--- a/src/main/java/com/rapidminer/gui/tools/ProgressThreadDialog.java
+++ b/src/main/java/com/rapidminer/gui/tools/ProgressThreadDialog.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/ProgressThreadDisplay.java b/src/main/java/com/rapidminer/gui/tools/ProgressThreadDisplay.java
index 6c538f448..58627d0d1 100644
--- a/src/main/java/com/rapidminer/gui/tools/ProgressThreadDisplay.java
+++ b/src/main/java/com/rapidminer/gui/tools/ProgressThreadDisplay.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/ProgressThreadListener.java b/src/main/java/com/rapidminer/gui/tools/ProgressThreadListener.java
index f85e0ad47..3660f4676 100644
--- a/src/main/java/com/rapidminer/gui/tools/ProgressThreadListener.java
+++ b/src/main/java/com/rapidminer/gui/tools/ProgressThreadListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/ProgressThreadStateListener.java b/src/main/java/com/rapidminer/gui/tools/ProgressThreadStateListener.java
index d1549da2f..b7388e377 100644
--- a/src/main/java/com/rapidminer/gui/tools/ProgressThreadStateListener.java
+++ b/src/main/java/com/rapidminer/gui/tools/ProgressThreadStateListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/ProgressThreadStoppedException.java b/src/main/java/com/rapidminer/gui/tools/ProgressThreadStoppedException.java
index 62778f99a..790948ab4 100644
--- a/src/main/java/com/rapidminer/gui/tools/ProgressThreadStoppedException.java
+++ b/src/main/java/com/rapidminer/gui/tools/ProgressThreadStoppedException.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/Registry.java b/src/main/java/com/rapidminer/gui/tools/Registry.java
index 88195a9fe..50fb70ac2 100644
--- a/src/main/java/com/rapidminer/gui/tools/Registry.java
+++ b/src/main/java/com/rapidminer/gui/tools/Registry.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/RegistryEvent.java b/src/main/java/com/rapidminer/gui/tools/RegistryEvent.java
index f51f83d6a..ffd0e365a 100644
--- a/src/main/java/com/rapidminer/gui/tools/RegistryEvent.java
+++ b/src/main/java/com/rapidminer/gui/tools/RegistryEvent.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/RegistryListener.java b/src/main/java/com/rapidminer/gui/tools/RegistryListener.java
index afe9e5812..79e3fd28d 100644
--- a/src/main/java/com/rapidminer/gui/tools/RegistryListener.java
+++ b/src/main/java/com/rapidminer/gui/tools/RegistryListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/RepositoryEntryTextField.java b/src/main/java/com/rapidminer/gui/tools/RepositoryEntryTextField.java
index 1fa526b1f..b9b8bac82 100644
--- a/src/main/java/com/rapidminer/gui/tools/RepositoryEntryTextField.java
+++ b/src/main/java/com/rapidminer/gui/tools/RepositoryEntryTextField.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/RepositoryGuiTools.java b/src/main/java/com/rapidminer/gui/tools/RepositoryGuiTools.java
index 5ac6cbfbb..16feb3cd9 100644
--- a/src/main/java/com/rapidminer/gui/tools/RepositoryGuiTools.java
+++ b/src/main/java/com/rapidminer/gui/tools/RepositoryGuiTools.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/gui/tools/ResourceAction.java b/src/main/java/com/rapidminer/gui/tools/ResourceAction.java
index 725f69858..812510daa 100644
--- a/src/main/java/com/rapidminer/gui/tools/ResourceAction.java
+++ b/src/main/java/com/rapidminer/gui/tools/ResourceAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -267,6 +267,28 @@ public void run() {
}
}
+ @Override
+ public void setEnabled(boolean newValue) {
+ // overwritten because we need to update it's state if it is registered in the global search
+
+ boolean changed = isEnabled() != newValue;
+ super.setEnabled(newValue);
+
+ if (!changed || !isGlobalSearchReady()) {
+ return;
+ }
+
+ // this must not crash the EDT, so it's wrapped in try/catch
+ try {
+ if (RapidMinerGUI.getMainFrame().getActionsGlobalSearchManager().isActionRegistered(this)) {
+ RapidMinerGUI.getMainFrame().getActionsGlobalSearchManager().addAction(this);
+ }
+ } catch (Throwable e) {
+ // We cannot risk blowing up the EDT, so catch absolutely everything here
+ LogService.getRoot().log(Level.WARNING, "com.rapidminer.gui.tools.ResourceAction.error.update_global_search", e);
+ }
+ }
+
/**
* Adds the action to the input and action map of the component.
*
@@ -287,6 +309,34 @@ public void addToActionMap(JComponent component, String actionKey, int condition
addToActionMap(condition, false, false, actionKey, component);
}
+ /**
+ * Adds this action to the Global Search for actions (see {@link com.rapidminer.search.GlobalSearchManager}.
+ * Only call after {@link com.rapidminer.gui.MainFrame} has been initialized!
+ *
+ * Most of the things are taken care of automatically, but to actually add content that can be searched, you need to follow the steps below:
+ *
+ *
Create {@link Field}s that should contain the searchable content, use the utility functions in the {@link GlobalSearchUtilities} class, e.g. {@link GlobalSearchUtilities#createFieldForTexts(String, String)}
+ *
Optional: If you want your results to be sorted in a given way, add the field created via {@link GlobalSearchUtilities#createSortingField(long)} to the document
+ *
Call {@link GlobalSearchUtilities#createDocument(String, String, Field...)} and pass the fields you created
+ *
+ *
+ *
+ * @author Marco Boeck
+ * @since 8.1
+ */
+public abstract class AbstractGlobalSearchManager implements GlobalSearchManager {
+
+ private final GlobalSearchManagerEventHandler eventHandler;
+
+ private final Collection addedDocuments;
+ private final Collection removedDocuments;
+
+ private final AtomicBoolean initialized;
+
+ private final String categoryId;
+ private final Map additionalFieldDescriptions;
+ private final Collection additionalDefaultSearchFields;
+
+
+ /**
+ * Creates the abstract global search manager which implements a lot of basic functionality required for every manager.
+ *
+ * @param categoryId
+ * the search category Id which was used to register to the {@link GlobalSearchRegistry}
+ * @param additionalFieldDescriptions
+ * see {@link GlobalSearchManager#getAdditionalFieldDescriptions()}. Can be {@code null} if no additional fields are created.
+ * @param additionalDefaultSearchFields
+ * see {@link GlobalSearchManager#getAdditionalDefaultSearchFields()}. Can be {@code null} for no additional default search fields.
+ */
+ protected AbstractGlobalSearchManager(String categoryId, Map additionalFieldDescriptions, GlobalSearchDefaultField... additionalDefaultSearchFields) {
+ if (categoryId == null || categoryId.trim().isEmpty()) {
+ throw new IllegalArgumentException("categoryId must not be null or empty!");
+ }
+
+ this.categoryId = categoryId;
+ this.additionalFieldDescriptions = additionalFieldDescriptions;
+ this.additionalDefaultSearchFields = additionalDefaultSearchFields != null ? Collections.unmodifiableList(Arrays.asList(additionalDefaultSearchFields)) : Collections.emptyList();
+
+ initialized = new AtomicBoolean(false);
+
+ eventHandler = new GlobalSearchManagerEventHandler(categoryId);
+
+ addedDocuments = Collections.synchronizedList(new ArrayList<>());
+ removedDocuments = Collections.synchronizedList(new ArrayList<>());
+
+ }
+
+ /**
+ * Remove the {@link Document}s which were set in class variable removedDocuments before.
+ */
+ private void removeDocuments() {
+ List copyRemovedDocuments;
+ synchronized (removedDocuments) {
+ copyRemovedDocuments = new ArrayList<>(removedDocuments);
+ removedDocuments.clear();
+ }
+
+ if (!copyRemovedDocuments.isEmpty()) {
+ getSearchManagerEventHandler().fireDocumentsRemoved(copyRemovedDocuments);
+ }
+ }
+
+ /**
+ * Add {@link Document}s which were set in the addedDocuments class variable before.
+ */
+ private void addDocuments() {
+ List copyAddedDocuments;
+ synchronized (addedDocuments) {
+ copyAddedDocuments = new ArrayList<>(addedDocuments);
+ addedDocuments.clear();
+ }
+
+ if (!copyAddedDocuments.isEmpty()) {
+ // we always update instead of just adding so that new info for same location is stored
+ getSearchManagerEventHandler().fireDocumentsUpdated(copyAddedDocuments);
+ }
+ }
+
+ /**
+ * Initializes this Global Search manager. Calling multiple times has no additional effect after the first time.
+ */
+ @Override
+ public final void initialize() {
+ if (!initialized.get()) {
+ try {
+ init();
+
+ addDocuments();
+ removeDocuments();
+ // no error? Set initialized
+ initialized.set(true);
+ } catch (Exception e) {
+ LogService.getRoot().log(Level.WARNING, "com.rapidminer.search.AbstractGlobalSearchManager.error.init", e);
+ }
+
+ // do the fast indexing in a progress thread
+ ProgressThread pg = new ProgressThread("global_search.manager.init_index." + getSearchCategoryId()) {
+ @Override
+ public void run() {
+ try {
+ List initialDocuments = createInitialIndex(this);
+
+ // add initial documents.
+ getSearchManagerEventHandler().fireDocumentsUpdated(initialDocuments);
+ } catch (Exception e) {
+ LogService.getRoot().log(Level.WARNING, "com.rapidminer.search.AbstractGlobalSearchManager.error.init", e);
+ } finally {
+ getProgressListener().complete();
+ }
+ }
+ };
+ pg.start();
+ }
+ }
+
+ @Override
+ public boolean isInitialized() {
+ return initialized.get();
+ }
+
+ @Override
+ public String getSearchCategoryId() {
+ return categoryId;
+ }
+
+ @Override
+ public Map getAdditionalFieldDescriptions() {
+ return additionalFieldDescriptions;
+ }
+
+ @Override
+ public Collection getAdditionalDefaultSearchFields() {
+ return additionalDefaultSearchFields;
+ }
+
+ @Override
+ public GlobalSearchManagerEventHandler getSearchManagerEventHandler() {
+ return eventHandler;
+ }
+
+ /**
+ * Adds the given document to/Updates the given document on the index.
+ *
+ * Will not fire until {@link #init()} is done.
+ *
+ *
+ * @param toAdd
+ * the document to add to the index
+ */
+ protected void addDocumentToIndex(final Document toAdd) {
+ if (toAdd == null) {
+ throw new IllegalArgumentException("toAdd must not be null!");
+ }
+
+ addedDocuments.add(toAdd);
+
+ // only fire once init is done
+ if (initialized.get()) {
+ addDocuments();
+ }
+ }
+
+ /**
+ * Adds the given documents to/Updates the given documents on the index.
+ *
+ * Will not fire until {@link #init()} is done.
+ *
+ *
+ * @param toAdd
+ * the documents to add to the index
+ */
+ protected void addDocumentsToIndex(final List toAdd) {
+ if (toAdd == null) {
+ throw new IllegalArgumentException("toAdd must not be null!");
+ }
+
+ addedDocuments.addAll(toAdd);
+
+ // only fire once init is done
+ if (initialized.get()) {
+ addDocuments();
+ }
+ }
+
+ /**
+ * Deletes the given document from the index.
+ *
+ * Will not fire until {@link #init()} is done.
+ *
+ *
+ * @param toDelete
+ * the document to remove from the index
+ */
+ protected void removeDocumentFromIndex(final Document toDelete) {
+ if (toDelete == null) {
+ throw new IllegalArgumentException("toDelete must not be null!");
+ }
+
+ removedDocuments.add(toDelete);
+
+ // only fire once init is done
+ if (initialized.get()) {
+ removeDocuments();
+ }
+ }
+
+ /**
+ * Deletes the given documents from the index.
+ *
+ * Will not fire until {@link #init()} is done.
+ *
+ *
+ * @param toDelete
+ * the documents to remove from the index
+ */
+ protected void removeDocumentsFromIndex(final List toDelete) {
+ if (toDelete == null) {
+ throw new IllegalArgumentException("toDelete must not be null!");
+ }
+
+ removedDocuments.addAll(toDelete);
+
+ // only fire once init is done
+ if (initialized.get()) {
+ removeDocuments();
+ }
+ }
+
+ /**
+ * Put all the initialization here. This method should return fast to not block Studio start. See {@link #createInitialIndex(ProgressThread)} for a place to put initial search indexing.
+ */
+ protected abstract void init();
+
+ /**
+ * Put all the quick (!) initial indexing here. This method should return fast so that the user can search as soon as possible.
+ * If you need more expensive indexing, use {@link ProgressThread}s and call {@link #addDocumentsToIndex(List)} later.
+ *
+ * Called in a {@link com.rapidminer.gui.tools.ProgressThread}. When running in GUI mode, the i18n key that is used is {@code gui.progress.global_search.manager.init_index.{category_id}.label}
+ *
+ *
+ * Any error handling needs to be done internally. This is not expected to throw.
+ *
+ *
+ * @param progressThread
+ * this can be used to call {@link ProgressThread#checkCancelled()} to check for user stop request
+ * and to notify Studio about the progress of the initialization via {@link ProgressThread#getProgressListener()}.
+ * @return any documents that should be part of the Global Search index straight from the beginning. It is valid that the returned list is empty.
+ */
+ protected abstract List createInitialIndex(final ProgressThread progressThread);
+}
diff --git a/src/main/java/com/rapidminer/search/GlobalSearchCategory.java b/src/main/java/com/rapidminer/search/GlobalSearchCategory.java
new file mode 100644
index 000000000..28a52b782
--- /dev/null
+++ b/src/main/java/com/rapidminer/search/GlobalSearchCategory.java
@@ -0,0 +1,75 @@
+/**
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
+ *
+ * Complete list of developers available at our web site:
+ *
+ * http://rapidminer.com
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the
+ * GNU Affero General Public License as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * 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/.
+ */
+package com.rapidminer.search;
+
+/**
+ * A search category pojo. Contains only the manager instance and the category id.
+ *
+ * @author Marco Boeck
+ * @since 8.1
+ */
+public class GlobalSearchCategory {
+
+ private final String categoryId;
+
+ private final GlobalSearchManager manager;
+
+
+ GlobalSearchCategory(String categoryId, GlobalSearchManager manager) {
+ this.categoryId = categoryId;
+ this.manager = manager;
+ }
+
+ /**
+ * The manager instance.
+ *
+ * @return the instance, never {@code null}
+ */
+ public GlobalSearchManager getManager() {
+ return manager;
+ }
+
+ /**
+ * The unique id of the category.
+ *
+ * @return the id, never {@code null}
+ */
+ public String getCategoryId() {
+ return categoryId;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+
+ GlobalSearchCategory that = (GlobalSearchCategory) o;
+
+ return categoryId.equals(that.categoryId);
+ }
+
+ @Override
+ public int hashCode() {
+ return categoryId.hashCode();
+ }
+}
diff --git a/src/main/java/com/rapidminer/search/GlobalSearchDefaultField.java b/src/main/java/com/rapidminer/search/GlobalSearchDefaultField.java
new file mode 100644
index 000000000..bc89e5381
--- /dev/null
+++ b/src/main/java/com/rapidminer/search/GlobalSearchDefaultField.java
@@ -0,0 +1,74 @@
+/**
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
+ *
+ * Complete list of developers available at our web site:
+ *
+ * http://rapidminer.com
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the
+ * GNU Affero General Public License as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * 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/.
+ */
+package com.rapidminer.search;
+
+/**
+ * Simple POJO class that holds both the name and their relative boost of the additional fields that should be searched for a {@link GlobalSearchManager}.
+ *
+ * Note that the higher the boost difference, the more hits of the higher boosted field are favored, i.e. ranked higher.
+ * The {@link GlobalSearchUtilities#FIELD_NAME} has a boost of {@code 1f}.
+ *
+ *
+ * @author Marco Boeck
+ * @since 8.1
+ */
+public final class GlobalSearchDefaultField {
+
+ private final String name;
+ private final float boost;
+
+
+ /**
+ * Creates a new POJO with the given values.
+ *
+ * @param name
+ * the name of the {@link org.apache.lucene.document.Field} that should be searched by default
+ * @param boost
+ * the relative boost of the field. See {@link GlobalSearchUtilities#DEFAULT_OTHER_FIELD_BOOST} for the default value for fields that are not the name field
+ */
+ public GlobalSearchDefaultField(final String name, final float boost) {
+ if (name == null || name.trim().isEmpty()) {
+ throw new IllegalArgumentException("name must not be null or empty!");
+ }
+
+ this.name = name;
+ this.boost = boost;
+ }
+
+ /**
+ * Returns the field name.
+ *
+ * @return the name, never {@code null}
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * Returns the boost of the field.
+ *
+ * Note that the higher the boost difference, the more hits of the higher boosted field are favored, i.e. ranked higher. The {@link GlobalSearchUtilities#FIELD_NAME} has a boost of {@code 1f}.
+ *
+ *
+ * @return the boost
+ */
+ public float getBoost() {
+ return boost;
+ }
+}
diff --git a/src/main/java/com/rapidminer/search/GlobalSearchHandler.java b/src/main/java/com/rapidminer/search/GlobalSearchHandler.java
new file mode 100644
index 000000000..56a35f93d
--- /dev/null
+++ b/src/main/java/com/rapidminer/search/GlobalSearchHandler.java
@@ -0,0 +1,364 @@
+/**
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
+ *
+ * Complete list of developers available at our web site:
+ *
+ * http://rapidminer.com
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the
+ * GNU Affero General Public License as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * 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/.
+ */
+package com.rapidminer.search;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.logging.Level;
+import java.util.stream.Collectors;
+
+import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.document.DateTools;
+import org.apache.lucene.document.Document;
+import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.queryparser.classic.ParseException;
+import org.apache.lucene.queryparser.classic.QueryParser;
+import org.apache.lucene.search.BooleanClause;
+import org.apache.lucene.search.BooleanQuery;
+import org.apache.lucene.search.BoostQuery;
+import org.apache.lucene.search.IndexSearcher;
+import org.apache.lucene.search.Query;
+import org.apache.lucene.search.ScoreDoc;
+import org.apache.lucene.search.Sort;
+import org.apache.lucene.search.SortField;
+import org.apache.lucene.search.SortedNumericSortField;
+import org.apache.lucene.search.TopDocs;
+import org.apache.lucene.search.highlight.Formatter;
+import org.apache.lucene.search.highlight.Fragmenter;
+import org.apache.lucene.search.highlight.Highlighter;
+import org.apache.lucene.search.highlight.InvalidTokenOffsetsException;
+import org.apache.lucene.search.highlight.QueryScorer;
+import org.apache.lucene.search.highlight.SimpleHTMLFormatter;
+import org.apache.lucene.search.highlight.SimpleSpanFragmenter;
+import org.apache.lucene.search.highlight.TokenSources;
+
+import com.rapidminer.tools.LogService;
+
+
+/**
+ * The class to run search queries for the Global Search feature against. Use the {@link GlobalSearchResultBuilder} to setup the
+ * search and then run it via {@link GlobalSearchResultBuilder#runSearch()}.
+ *
+ * To register a {@link GlobalSearchable} and thus make it available for searching, use {@link GlobalSearchRegistry#registerSearchCategory(GlobalSearchable)}.
+ *
+ *
+ * @author Marco Boeck
+ * @since 8.1
+ */
+enum GlobalSearchHandler {
+
+ INSTANCE;
+
+
+ /**
+ * name of the {@link org.apache.lucene.document.StringField} each document gets added which is unique across the
+ * entire application.
+ */
+ protected static final String FIELD_INTERNAL_UNIQUE_ID = "internal_unique_id";
+
+ private static final Formatter HIGHLIGHT_FORMATTER = new SimpleHTMLFormatter("", "");
+ private static final int MAX_NUMBER_OF_FRAGMENTS = 5;
+ private static final int FRAGMENT_SIZE = 10;
+
+ /**
+ * special characters/sequences: if they occur in a query, advanced functionality was used and we cannot simplify the query anymore
+ */
+ private static final String[] SPECIAL_CHARACTERS = new String[]{GlobalSearchUtilities.QUERY_WILDCARD, "AND", "OR", "NOT", "+", "-", "&&", "||", "!", "(", ")", "{", "}", "[", "]", "^", "\"", "~", "?", "\\"};
+
+ private static final Sort SORT = new Sort(new SortedNumericSortField(GlobalSearchUtilities.FIELD_SORTING, SortField.Type.LONG, true), SortField.FIELD_SCORE);
+ private static final GlobalSearchDefaultField DEFAULT_SEARCH_FIELD = new GlobalSearchDefaultField(GlobalSearchUtilities.FIELD_NAME, GlobalSearchUtilities.DEFAULT_NAME_FIELD_BOOST);
+
+
+ /**
+ * Executes the search with the given parameters.
+ *
+ * @param searchQueryString
+ * the search query string, must neither be {@code null} nor empty
+ * @param categories
+ * Optional. If {@code null} or not specified, all registered search categories are included in the
+ * search.
+ * @param simpleMode
+ * if {@code true}, will try to make the query automatically user-friendly; {@code false} will not make any changes to the query
+ * @param maxNumberOfResults
+ * the maximum number of results
+ * @param highlightResult
+ * if {@code true}, the {@link GlobalSearchResult#getBestFragments()} will be created
+ * @param after
+ * Optional. If not {@code null}, then the search results are retrieved from ranks lower than the given
+ * {@link ScoreDoc}.
+ * @return the search result, never {@code null}
+ * @throws ParseException
+ * if the searchQuery was invalid
+ */
+ protected GlobalSearchResult search(final String searchQueryString, final List categories, final boolean simpleMode, final int maxNumberOfResults, final boolean highlightResult, final ScoreDoc after) throws ParseException {
+ if (searchQueryString == null || searchQueryString.trim().isEmpty()) {
+ return GlobalSearchResult.createEmptyResult(searchQueryString);
+ }
+ // build the query based on the default search fields, which can be specified in the search string anyway though
+ try (IndexReader reader = GlobalSearchIndexer.INSTANCE.createIndexReader()) {
+ IndexSearcher searcher = new IndexSearcher(reader);
+ TopDocs result;
+ Query finalQuery;
+
+ Query parsedQuery = parseDefaultQuery(searchQueryString, categories, simpleMode);
+ if (categories == null) {
+ finalQuery = parsedQuery;
+ } else {
+ // categories are restricted, create query for that and combine with original query via AND
+ BooleanQuery.Builder booleanQueryBuilder = new BooleanQuery.Builder();
+ Query categoryQuery = createCategoryQuery(categories);
+ finalQuery = booleanQueryBuilder.add(parsedQuery, BooleanClause.Occur.MUST).add(categoryQuery, BooleanClause.Occur.MUST).build();
+ }
+
+ // sort by the sort field, if provided
+ if (after == null) {
+ result = searcher.search(finalQuery, maxNumberOfResults, SORT, true, false);
+ } else {
+ result = searcher.searchAfter(after, finalQuery, maxNumberOfResults, SORT, true, false);
+ }
+
+ return createSearchResult(searchQueryString, parsedQuery, searcher, result, highlightResult);
+ } catch (ParseException e) {
+ // re-throw parse exceptions
+ throw e;
+ } catch (Exception e) {
+ LogService.getRoot().log(Level.WARNING, "com.rapidminer.global_search.searchhandler.search_failed", e);
+ return GlobalSearchResult.createEmptyResult(searchQueryString);
+ }
+ }
+
+
+ /**
+ * Parses the given search query for the given search categories and returns a {@link Query} object.
+ *
+ * @param searchString
+ * the search query string, must not be {@code null} or empty
+ * @param searchCategories
+ * the search categories to search in. If {@code null}, all search categories are searched
+ * @param simpleMode
+ * if {@code true}, will try to make the query automatically user-friendly (e.g. by adding wildcards after words, etc); {@code false} will not make any changes to the query.
+ * Note that if a simplified query cannot be parsed, the original (non-simplified) query will be created.
+ * @return the query, never {@code null}
+ * @throws ParseException
+ * if the search string cannot be parsed
+ */
+ private Query parseDefaultQuery(final String searchString, final List searchCategories, final boolean simpleMode) throws ParseException {
+ String newSearchString = searchString;
+
+ // can the query be simplified? If so, do it
+ boolean simplified = false;
+ if (simpleMode) {
+ StringBuilder result = new StringBuilder();
+ simplified = simplifySearchString(searchString, result);
+ newSearchString = result.toString();
+ }
+
+ Collection fieldSet = new HashSet<>();
+
+ fieldSet.add(DEFAULT_SEARCH_FIELD);
+ // get all fields which should be queried in addition to the default name field
+ List categoryList = searchCategories;
+ if (categoryList == null) {
+ categoryList = GlobalSearchRegistry.INSTANCE.getAllSearchCategories();
+ }
+
+ for (GlobalSearchCategory category : categoryList) {
+ fieldSet.addAll(category.getManager().getAdditionalDefaultSearchFields());
+ }
+
+ try {
+ // if we have one query, then just return it, otherwise it was a multi-field query, construct Boolean query for them
+ // we don't use MultiFieldQueryParser here because that cannot be boosted for our PrefixQueries
+ List queries = buildSubQueries(newSearchString, fieldSet, simpleMode);
+ if (queries.size() == 1) {
+ return queries.get(0);
+ } else {
+ BooleanQuery.Builder booleanQueryBuilder = new BooleanQuery.Builder();
+ for (Query query : queries) {
+ booleanQueryBuilder.add(query, BooleanClause.Occur.SHOULD);
+ }
+ return booleanQueryBuilder.build();
+ }
+ } catch (ParseException e) {
+ // if we modified the query and then a ParseException occurs, try original query
+ if (simplified) {
+ return parseDefaultQuery(searchString, categoryList, false);
+ } else {
+ throw e;
+ }
+ }
+ }
+
+ /**
+ * Try to simplify the search string (i.e. append wildcards etc).
+ *
+ * @param searchString
+ * the original search string
+ * @param result
+ * the builder that will contain the final search string, either simplified or not
+ * @return {@code true} if the search string was simplified; {@code false} otherwise
+ */
+ private boolean simplifySearchString(String searchString, StringBuilder result) {
+ boolean wildcardAppendForEveryWordPossible = true;
+
+ // special characters used? Cannot simplify at all now.
+ for (String specialCharacter : SPECIAL_CHARACTERS) {
+ if (searchString.contains(specialCharacter)) {
+ wildcardAppendForEveryWordPossible = false;
+ break;
+ }
+ }
+
+ if (!wildcardAppendForEveryWordPossible) {
+ // no simplification possible, return original search term
+ result.append(searchString);
+ return false;
+ }
+
+ // can append wildcard to every word that was searched (special case for ':' applies, see below)
+ for (String word : searchString.split("\\s+")) {
+ result.append(word);
+
+ // this is a specific field that was searched, cannot append wildcard behind the field specifier -> skip
+ if (word.endsWith(GlobalSearchUtilities.QUERY_FIELD_SPECIFIER)) {
+ continue;
+ }
+
+ // add wildcard at end of word
+ result.append(GlobalSearchUtilities.QUERY_WILDCARD);
+
+ result.append(' ');
+ }
+ // remove last whitespace again
+ result.deleteCharAt(result.length() - 1);
+
+ return true;
+ }
+
+ /**
+ * Builds the individual sub queries based on the given fields that should be searched.
+ *
+ * @param searchString
+ * the search term
+ * @param fieldSet
+ * the collection of fields that should be searched
+ * @param simpleMode
+ * if {@code true}, will boost the query for the name field and additional fields according to their weight;{@code false} will not boost any query.
+ * @throws ParseException
+ * if the search string cannot be parsed
+ */
+ private List buildSubQueries(final String searchString, final Collection fieldSet, final boolean simpleMode) throws ParseException {
+ // create queries for each field. Always at least the NAME_FIELD
+ QueryParser parser;
+ List queries = new ArrayList<>(fieldSet.size());
+ for (GlobalSearchDefaultField field : fieldSet) {
+ String name = field.getName();
+
+ parser = new QueryParser(name, GlobalSearchUtilities.ANALYZER);
+ parser.setDateResolution(DateTools.Resolution.DAY);
+ parser.setAllowLeadingWildcard(true);
+ parser.setDefaultOperator(QueryParser.Operator.AND);
+
+ Query parsedQuery = parser.parse(searchString);
+ Query query;
+ // in simple mode, boost search for default name field. Set lower boost to additional fields
+ if (simpleMode) {
+ float boost;
+ if (GlobalSearchUtilities.FIELD_NAME.equals(name)) {
+ boost = GlobalSearchUtilities.DEFAULT_NAME_FIELD_BOOST;
+ } else {
+ boost = field.getBoost();
+ }
+ query = new BoostQuery(parsedQuery, boost);
+ } else {
+ query = parsedQuery;
+ }
+
+ queries.add(query);
+ }
+
+ return queries;
+ }
+
+ /**
+ * Creates the query for searching in the given {@link GlobalSearchCategory}s and returns the {@link Query} object.
+ *
+ * @param categories
+ * the search categories which are to be included in the search. Must not be {@code null}
+ * @return the query, never {@code null}
+ * @throws ParseException
+ * if the search string cannot be parsed
+ */
+ private Query createCategoryQuery(final List categories) throws ParseException {
+ // simply create "cat1 cat2 ... catN" string which is all that is needed for an OR search on the category field
+ String categoryQueryString = categories.stream().map(GlobalSearchCategory::getCategoryId).collect(Collectors.joining(" "));
+
+ QueryParser parser = new QueryParser(GlobalSearchUtilities.FIELD_CATEGORY, GlobalSearchUtilities.ANALYZER);
+ return parser.parse(categoryQueryString);
+ }
+
+ /**
+ * Creates the search result for search methods.
+ *
+ * @param searchTerm
+ * the search string
+ * @param searcher
+ * the index searcher instance which was used to search
+ * @param result
+ * the result of the search
+ * @param highlightResult
+ * if {@code true}, the {@link GlobalSearchResult#getBestFragments()} will be created
+ * @return the search result instance, never {@code null}
+ * @throws IOException
+ * if something goes wrong
+ */
+ private GlobalSearchResult createSearchResult(final String searchTerm, final Query parsedQuery, final IndexSearcher searcher, final TopDocs result, final boolean highlightResult) throws IOException {
+ int resultNumber = result.scoreDocs.length;
+ List resultList = new ArrayList<>(resultNumber);
+ List highlights = highlightResult ? new LinkedList<>() : null;
+ ScoreDoc lastResult = resultNumber > 0 ? result.scoreDocs[result.scoreDocs.length - 1] : null;
+ for (ScoreDoc scoreDoc : result.scoreDocs) {
+ Document doc = searcher.doc(scoreDoc.doc);
+ resultList.add(doc);
+
+ if (highlightResult) {
+ // search result highlighting best match on name field
+ QueryScorer scorer = new QueryScorer(parsedQuery);
+ Highlighter highlighter = new Highlighter(HIGHLIGHT_FORMATTER, scorer);
+ Fragmenter fragmenter = new SimpleSpanFragmenter(scorer, FRAGMENT_SIZE);
+ highlighter.setTextFragmenter(fragmenter);
+ try {
+ TokenStream stream = TokenSources.getTokenStream(GlobalSearchUtilities.FIELD_NAME, searcher.getIndexReader().getTermVectors(scoreDoc.doc), doc.get(GlobalSearchUtilities.FIELD_NAME), GlobalSearchUtilities.ANALYZER, Highlighter.DEFAULT_MAX_CHARS_TO_ANALYZE - 1);
+ if (stream != null) {
+ highlights.add(highlighter.getBestFragments(stream, doc.get(GlobalSearchUtilities.FIELD_NAME), MAX_NUMBER_OF_FRAGMENTS));
+ } else {
+ highlights.add(null);
+ }
+ } catch (InvalidTokenOffsetsException e) {
+ highlights.add(null);
+ }
+ }
+ }
+ return new GlobalSearchResult(resultList, searchTerm, lastResult, result.totalHits, highlights);
+ }
+}
diff --git a/src/main/java/com/rapidminer/search/GlobalSearchIndexer.java b/src/main/java/com/rapidminer/search/GlobalSearchIndexer.java
new file mode 100644
index 000000000..bdde767be
--- /dev/null
+++ b/src/main/java/com/rapidminer/search/GlobalSearchIndexer.java
@@ -0,0 +1,354 @@
+/**
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
+ *
+ * Complete list of developers available at our web site:
+ *
+ * http://rapidminer.com
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the
+ * GNU Affero General Public License as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * 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/.
+ */
+package com.rapidminer.search;
+
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.util.Collection;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.logging.Level;
+
+import org.apache.commons.io.FileUtils;
+import org.apache.lucene.document.Document;
+import org.apache.lucene.index.DirectoryReader;
+import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.index.IndexWriter;
+import org.apache.lucene.index.IndexWriterConfig;
+import org.apache.lucene.index.IndexableField;
+import org.apache.lucene.index.Term;
+import org.apache.lucene.store.Directory;
+import org.apache.lucene.store.FSDirectory;
+
+import com.rapidminer.search.event.GlobalSearchManagerListener;
+import com.rapidminer.search.event.GlobalSearchRegistryEvent;
+import com.rapidminer.tools.FileSystemService;
+import com.rapidminer.tools.LogService;
+
+
+/**
+ * Takes care of preparing the Global Search index.
+ *
+ * @author Marco Boeck
+ * @since 8.1
+ */
+public enum GlobalSearchIndexer {
+
+ INSTANCE;
+
+
+ private Path indexDirectoryPath;
+
+ private final ExecutorService pool = Executors.newFixedThreadPool(2);
+
+ private volatile boolean setupError = false;
+
+ private final AtomicBoolean initialized = new AtomicBoolean(false);
+
+ private IndexWriter indexWriter;
+
+ /** this listener makes sure that updates to each GlobalSearchable are reflected in the index */
+ private final GlobalSearchManagerListener searchManagerListener = new GlobalSearchManagerListener() {
+
+ @Override
+ public void documentsAdded(final String categoryId, final Collection addedDocuments) {
+ GlobalSearchCategory category = GlobalSearchRegistry.INSTANCE.getSearchCategoryById(categoryId);
+ if (category != null) {
+ pool.submit(() -> addDocuments(category, addedDocuments));
+ }
+ }
+
+ @Override
+ public void documentsUpdated(final String categoryId, final Collection updatedDocuments) {
+ GlobalSearchCategory category = GlobalSearchRegistry.INSTANCE.getSearchCategoryById(categoryId);
+ if (category != null) {
+ pool.submit(() -> updateDocuments(category, updatedDocuments));
+ }
+ }
+
+ @Override
+ public void documentsRemoved(final String categoryId, final Collection removedDocuments) {
+ GlobalSearchCategory category = GlobalSearchRegistry.INSTANCE.getSearchCategoryById(categoryId);
+ if (category != null) {
+ pool.submit(() -> removeDocuments(category, removedDocuments));
+ }
+ }
+ };
+
+
+ /**
+ * Sets up the search indexer instance. Registers a listener to the {@link GlobalSearchRegistry} to be able to add/remove
+ * documents to/from the index in case search categories are (un)registered.
+ */
+ GlobalSearchIndexer() {
+ try {
+ indexDirectoryPath = FileSystemService.getUserRapidMinerDir().toPath().resolve(FileSystemService.RAPIDMINER_INTERNAL_CACHE_SEARCH_FULL);
+
+ // set up of Lucene is done in initialize()
+ } catch (Exception e) {
+ setupError = true;
+ LogService.getRoot().log(Level.SEVERE, "com.rapidminer.global_search.searchindexer.setup_failed", e);
+ }
+ }
+
+ /**
+ * Initializes the {@link GlobalSearchIndexer}. Calling multiple times has no effect.
+ */
+ public void initialize() {
+ if (!initialized.get()) {
+ if (setupError) {
+ // should not happen at this point, but better be safe
+ return;
+ }
+
+ // create the single index writer
+ try {
+ indexWriter = createIndexWriter();
+ } catch (Exception e) {
+ // could not open the index. Try deleting the cache
+ LogService.getRoot().log(Level.INFO, "com.rapidminer.global_search.searchindexer.setup_self_fix_start", e);
+ boolean fixed = fixIndexCacheFolder();
+
+ if (fixed) {
+ LogService.getRoot().log(Level.INFO, "com.rapidminer.global_search.searchindexer.setup_self_fix_success");
+ } else {
+ // nothing worked, cannot setup Global Search
+ setupError = true;
+ LogService.getRoot().log(Level.SEVERE, "com.rapidminer.global_search.searchindexer.setup_failed", e);
+ return;
+ }
+ }
+
+ // add registry listener. If there is a setup error, we do not even get here
+ GlobalSearchRegistry.INSTANCE.addEventListener((GlobalSearchRegistryEvent e, GlobalSearchCategory category) -> {
+ // new registrations after initial indexing has been started/done
+ if (e.getEventType() == GlobalSearchRegistryEvent.RegistrationEvent.SEARCH_CATEGORY_REGISTERED) {
+ category.getManager().getSearchManagerEventHandler().addEventListener(searchManagerListener);
+ } else if (e.getEventType() == GlobalSearchRegistryEvent.RegistrationEvent.SEARCH_CATEGORY_UNREGISTERED) {
+ category.getManager().getSearchManagerEventHandler().removeEventListener(searchManagerListener);
+ removeCategory(category);
+ }
+ });
+
+ initialized.set(true);
+ }
+ }
+
+ /**
+ * Returns whether the GlobalSearchIndexer was setup successfully.
+ *
+ * @return {@code true} if everything is ready; {@code false} otherwise
+ */
+ public boolean isInitialized() {
+ return !setupError && initialized.get();
+ }
+
+ /**
+ * Removes all documents of a search category from the index.
+ *
+ * @param category
+ * the category for which all documents should be removed
+ */
+ private void removeCategory(final GlobalSearchCategory category) {
+ try {
+ Term categoryToDeleteTerm = new Term(GlobalSearchUtilities.FIELD_CATEGORY, category.getCategoryId());
+ indexWriter.deleteDocuments(categoryToDeleteTerm);
+ } catch (IOException e) {
+ LogService.getRoot().log(Level.WARNING, "com.rapidminer.global_search.searchindexer.remove_failed", new Object[]{category.getCategoryId(), e.getMessage()});
+ }
+ }
+
+ /**
+ * Add the given documents to the index.
+ *
+ * @param category
+ * the origin of the search documents
+ * @param documents
+ * the documents to add to the index
+ */
+ private void addDocuments(final GlobalSearchCategory category, final Collection documents) {
+ for (Document doc : documents) {
+ // make sure doc has necessary fields
+ if (!isDocValid(category.getCategoryId(), doc)) {
+ continue;
+ }
+ // store category id to make searching only for specific categories possible
+ doc.add(GlobalSearchUtilities.INSTANCE.createFieldForIdentifiers(GlobalSearchUtilities.FIELD_CATEGORY, category.getCategoryId()));
+ doc.add(GlobalSearchUtilities.INSTANCE.createFieldForIdentifiers(GlobalSearchHandler.FIELD_INTERNAL_UNIQUE_ID, createInternalId(category.getCategoryId(), doc)));
+ }
+
+ try {
+ indexWriter.addDocuments(documents);
+ } catch (Exception e) {
+ LogService.getRoot().log(Level.WARNING, "com.rapidminer.global_search.searchindexer.add_failed", new Object[] { category.getCategoryId(), e.getMessage() });
+ }
+ }
+
+
+ /**
+ * Updates the documents for the given search category. Call this method if new documents/updated documents should
+ * be made available to the Global Search.
+ *
+ * @param category
+ * the search category. Must already be registered to the {@link GlobalSearchRegistry}.
+ * @param documents
+ * the documents to update on the index
+ * @throws IllegalStateException
+ * if the search category is not registered to the {@link GlobalSearchRegistry}
+ */
+ private void updateDocuments(final GlobalSearchCategory category, final Collection documents) {
+ for (Document doc : documents) {
+ // make sure doc has necessary fields
+ if (!isDocValid(category.getCategoryId(), doc)) {
+ continue;
+ }
+
+ // store category id to make searching only for specific categories possible
+ doc.add(GlobalSearchUtilities.INSTANCE.createFieldForIdentifiers(GlobalSearchUtilities.FIELD_CATEGORY, category.getCategoryId()));
+ doc.add(GlobalSearchUtilities.INSTANCE.createFieldForIdentifiers(GlobalSearchHandler.FIELD_INTERNAL_UNIQUE_ID, createInternalId(category.getCategoryId(), doc)));
+
+ IndexableField field = doc.getField(GlobalSearchHandler.FIELD_INTERNAL_UNIQUE_ID);
+ Term termToUpdate = new Term(field.name(), field.stringValue());
+ try {
+ indexWriter.updateDocument(termToUpdate, doc);
+ } catch (Exception e) {
+ LogService.getRoot().log(Level.WARNING, "com.rapidminer.global_search.searchindexer.update_failed", new Object[]{category.getCategoryId(), e.getMessage()});
+ }
+ }
+ }
+
+ /**
+ * Removes all documents for the given search category from the index.
+ *
+ * @param category
+ * the origin of the search documents
+ * @param documents
+ * the documents to remove from the index
+ */
+ private void removeDocuments(final GlobalSearchCategory category, final Collection documents) {
+ Term[] termsToDelete = new Term[documents.size()];
+ int index = 0;
+ // these docs will likely not have the internal unique id set -> set it if needed
+ for (Document doc : documents) {
+ IndexableField field = doc.getField(GlobalSearchHandler.FIELD_INTERNAL_UNIQUE_ID);
+ if (field != null) {
+ termsToDelete[index++] = new Term(GlobalSearchHandler.FIELD_INTERNAL_UNIQUE_ID, field.stringValue());
+ } else {
+ termsToDelete[index++] = new Term(GlobalSearchHandler.FIELD_INTERNAL_UNIQUE_ID, createInternalId(category.getCategoryId(), doc));
+ }
+ }
+
+ try {
+ indexWriter.deleteDocuments(termsToDelete);
+ } catch (Exception e) {
+ LogService.getRoot().log(Level.WARNING, "com.rapidminer.global_search.searchindexer.remove_failed", new Object[] { category.getCategoryId(), e.getMessage() });
+ }
+ }
+
+ /**
+ * Create the internal, application-unique id.
+ *
+ * @param categoryId
+ * the category id of the document
+ * @param document
+ * the document for which to generate the id
+ * @return the unique id
+ */
+ private String createInternalId(final String categoryId, final Document document) {
+ String uniqueId = document.getField(GlobalSearchUtilities.FIELD_UNIQUE_ID).stringValue();
+ return categoryId + "_" + uniqueId;
+ }
+
+ /**
+ * Checks if the given {@link Document} adheres to the standards the Global Search needs. Logs if it is not.
+ *
+ * @param doc
+ * the document to check
+ * @return {@code true} if the document is considered valid; {@code false} otherwise
+ */
+ private boolean isDocValid(final String categoryId, final Document doc) {
+ if (doc.getField(GlobalSearchUtilities.FIELD_UNIQUE_ID) == null) {
+ LogService.getRoot().log(Level.WARNING, "com.rapidminer.global_search.searchindexer.discarded_document_missing_field",
+ new Object[]{ categoryId, GlobalSearchUtilities.FIELD_UNIQUE_ID} );
+ return false;
+ }
+ if (doc.getField(GlobalSearchUtilities.FIELD_NAME) == null) {
+ LogService.getRoot().log(Level.WARNING, "com.rapidminer.global_search.searchindexer.discarded_document_missing_field",
+ new Object[]{ categoryId, GlobalSearchUtilities.FIELD_NAME} );
+ return false;
+ }
+
+ return true;
+ }
+
+ /**
+ * Tries to fix the index folder by deleting it and all its content.
+ * @return {@code true} if the fix was successful, {@code false} otherwise
+ */
+ private boolean fixIndexCacheFolder() {
+ if (indexDirectoryPath != null && Files.exists(indexDirectoryPath)) {
+ try {
+ if (Files.isDirectory(indexDirectoryPath)) {
+ FileUtils.deleteDirectory(indexDirectoryPath.toFile());
+ } else {
+ // this should not happen, but in case it does, delete the file
+ Files.delete(indexDirectoryPath);
+ }
+
+ // a fix was applied, now try if we can use the index
+ indexWriter = createIndexWriter();
+
+ // all good, we fixed it!
+ return true;
+ } catch (Exception e) {
+ LogService.getRoot().log(Level.SEVERE, "com.rapidminer.global_search.searchindexer.setup_self_fix_failed", e);
+ }
+ }
+
+ return false;
+ }
+
+ /**
+ * Creates an instance of {@link IndexWriter}.
+ *
+ * @return the writer, never {@code null}
+ * @throws IOException
+ * if something goes wrong
+ */
+ private IndexWriter createIndexWriter() throws IOException {
+ Directory dir = FSDirectory.open(indexDirectoryPath);
+ IndexWriterConfig config = new IndexWriterConfig(GlobalSearchUtilities.ANALYZER);
+ config.setOpenMode(IndexWriterConfig.OpenMode.CREATE);
+ return new IndexWriter(dir, config);
+ }
+
+ /**
+ * Creates an instance of {@link IndexReader}.
+ *
+ * @return the reader, never {@code null}
+ * @throws IOException
+ * if something goes wrong
+ */
+ protected IndexReader createIndexReader() throws IOException {
+ return DirectoryReader.open(indexWriter, true, false);
+ }
+
+}
diff --git a/src/main/java/com/rapidminer/search/GlobalSearchManager.java b/src/main/java/com/rapidminer/search/GlobalSearchManager.java
new file mode 100644
index 000000000..3206d0938
--- /dev/null
+++ b/src/main/java/com/rapidminer/search/GlobalSearchManager.java
@@ -0,0 +1,92 @@
+/**
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
+ *
+ * Complete list of developers available at our web site:
+ *
+ * http://rapidminer.com
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the
+ * GNU Affero General Public License as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * 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/.
+ */
+package com.rapidminer.search;
+
+import java.util.Collection;
+import java.util.Map;
+
+import org.apache.lucene.document.Document;
+
+import com.rapidminer.search.event.GlobalSearchManagerEventHandler;
+
+
+/**
+ * Manages the search functionality for {@link GlobalSearchable} things.
+ * Any implementation should extend {@link AbstractGlobalSearchManager} instead of implementing this interface directly.
+ *
+ * @author Marco Boeck
+ * @since 8.1
+ */
+public interface GlobalSearchManager {
+
+ /**
+ * Init code goes here. Must be explicitly called, as it is not called automatically.
+ */
+ void initialize();
+
+ /**
+ * Returns whether this manager has finished initialization.
+ *
+ * @return {@code true} if initialization is finished successfully; {@code false} otherwise
+ */
+ boolean isInitialized();
+
+ /**
+ * Returns the ID of this searchable category. This ID must be unique across RapidMiner Studio!
+ *
+ * @return the category id, never {@code null}
+ */
+ String getSearchCategoryId();
+
+ /**
+ * Returns a map of all the custom fields that this {@link GlobalSearchManager} uses together with a human-readable
+ * explanation for its {@link Document}s. Used to get available search syntax information.
+ *
+ * @return the map with additional field information in the format {@code {key, information}} or {@code null} if no
+ * additional fields are created
+ */
+ Map getAdditionalFieldDescriptions();
+
+ /**
+ * Returns all additional {@link org.apache.lucene.document.Field} keys and their relative weight which should be searched by default, i.e.
+ * when the user did not specify a field in the search query. An example where this is used are operators, where their tags are searched.
+ * By default, only the {@link GlobalSearchUtilities#FIELD_NAME} is searched.
+ *
+ * Note that the higher the weight difference, the more hits of the higher weighted field are favored, i.e. ranked higher. The {@link GlobalSearchUtilities#FIELD_NAME} has a weight of {@code 1f}.
+ *
+ *
+ * @return the keys and their relative weights of the additional fields for this {@link GlobalSearchable} to search or an empty collection if searching only
+ * the default name field is sufficient. Must not return {@code null}!
+ */
+ Collection getAdditionalDefaultSearchFields();
+
+ /**
+ * Returns the {@link GlobalSearchManagerEventHandler} instance which is used to listen for search document changes.
+ * You can create one for your search category via {@code new GlobalSearchManagerEventHandler(categoryID)}.
+ *
Attention: All additions/updates/removals of
+ * searchable items need to be made known via this {@link GlobalSearchManagerEventHandler}! Call {@link
+ * GlobalSearchManagerEventHandler#fireDocumentsAdded(Collection)}, {@link GlobalSearchManagerEventHandler#fireDocumentsUpdated(Collection)},
+ * and {@link GlobalSearchManagerEventHandler#fireDocumentsRemoved(Collection)} so that the {@link GlobalSearchHandler} will be
+ * able to find the changes!
+ *
+ * @return the event handler, never {@code null}
+ */
+ GlobalSearchManagerEventHandler getSearchManagerEventHandler();
+
+}
diff --git a/src/main/java/com/rapidminer/search/GlobalSearchRegistry.java b/src/main/java/com/rapidminer/search/GlobalSearchRegistry.java
new file mode 100644
index 000000000..4ee0f9d57
--- /dev/null
+++ b/src/main/java/com/rapidminer/search/GlobalSearchRegistry.java
@@ -0,0 +1,189 @@
+/**
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
+ *
+ * Complete list of developers available at our web site:
+ *
+ * http://rapidminer.com
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the
+ * GNU Affero General Public License as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * 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/.
+ */
+package com.rapidminer.search;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.logging.Level;
+
+import com.rapidminer.search.event.GlobalSearchRegistryEvent;
+import com.rapidminer.search.event.GlobalSearchRegistryEventListener;
+import com.rapidminer.tools.LogService;
+
+
+/**
+ * Register {@link GlobalSearchable} items here. Items registered here will be found when using the Global Search feature. You
+ * can call {@link #registerSearchCategory(GlobalSearchable)} to register things for the Global Search feature. If you don't
+ * want them to be searchable anymore, you can unregister them by calling {@link #unregisterSearchCategory(GlobalSearchable)}.
+ * To listen for registration changes, add a {@link GlobalSearchRegistryEventListener} by calling {@link
+ * #addEventListener(GlobalSearchRegistryEventListener)}.
+ *
+ * @author Marco Boeck
+ * @since 8.1
+ */
+@SuppressWarnings("unused")
+public enum GlobalSearchRegistry {
+
+ INSTANCE;
+
+
+ private final Map map = new ConcurrentHashMap<>();
+
+ private final List listeners = Collections.synchronizedList(new ArrayList<>());
+
+
+ /**
+ * Adds a {@link GlobalSearchRegistryEventListener} which will be informed of all changes to this registry. To remove it
+ * again, call {@link #removeEventListener(GlobalSearchRegistryEventListener)}.
+ *
+ * @param listener
+ * the listener instance to add
+ */
+ public void addEventListener(final GlobalSearchRegistryEventListener listener) {
+ if (listener == null) {
+ throw new IllegalArgumentException("listener must not be null!");
+ }
+ listeners.add(listener);
+ }
+
+ /**
+ * Removes the {@link GlobalSearchRegistryEventListener} from this registry.
+ *
+ * @param listener
+ * the listener instance to remove
+ */
+ public void removeEventListener(final GlobalSearchRegistryEventListener listener) {
+ if (listener == null) {
+ throw new IllegalArgumentException("listener must not be null!");
+ }
+ listeners.remove(listener);
+ }
+
+ /**
+ * Registers the given {@link GlobalSearchable}. Will call {@link AbstractGlobalSearchManager#init()}.
+ * These are high-level search categories which are presented in the global Search UI.
+ *
+ * @param searchable
+ * The searchable instance which is asked to return indexable items
+ * @throws IllegalStateException
+ * if registering a searchable with an ID that is already registered
+ */
+ public void registerSearchCategory(final GlobalSearchable searchable) {
+ if (searchable == null) {
+ throw new IllegalArgumentException("searchable must not be null!");
+ }
+ if (searchable.getSearchManager() == null) {
+ throw new IllegalArgumentException("searchable must not return null for the GlobalSearchManager!");
+ }
+ GlobalSearchManager searchManager = searchable.getSearchManager();
+ if (searchManager.getAdditionalDefaultSearchFields() == null) {
+ throw new IllegalArgumentException("getAdditionalDefaultSearchFields() must not return null!");
+ }
+ String categoryId = searchManager.getSearchCategoryId();
+ if (categoryId == null || categoryId.trim().isEmpty()) {
+ throw new IllegalArgumentException("categoryId must not be null or empty!");
+ }
+ if (map.get(categoryId) != null) {
+ throw new IllegalStateException("searchable " + categoryId + " already registered!");
+ }
+ if (!GlobalSearchIndexer.INSTANCE.isInitialized()) {
+ throw new IllegalStateException("GlobalSearchIndexer not initialized, Global Search disabled!");
+ }
+
+ searchManager.initialize();
+ GlobalSearchCategory addedCategory = new GlobalSearchCategory(categoryId, searchManager);
+ map.put(categoryId, addedCategory);
+ fireRegistryEvent(GlobalSearchRegistryEvent.RegistrationEvent.SEARCH_CATEGORY_REGISTERED, addedCategory);
+ LogService.getRoot().log(Level.INFO, "com.rapidminer.search.GlobalSearchRegistry.category_added", addedCategory.getCategoryId());
+ }
+
+ /**
+ * Unregisters the given {@link GlobalSearchable}. If the given {@link GlobalSearchCategory} has already been unregistered, has
+ * no effect.
+ *
+ * @param searchable
+ * The searchable instance which should no longer provide search results
+ */
+ public void unregisterSearchCategory(final GlobalSearchable searchable) {
+ if (searchable == null) {
+ throw new IllegalArgumentException("searchable must not be null!");
+ }
+ String categoryId = searchable.getSearchManager().getSearchCategoryId();
+ if (categoryId == null || categoryId.trim().isEmpty()) {
+ throw new IllegalArgumentException("categoryId must not be null or empty!");
+ }
+
+ GlobalSearchCategory removedCategory = map.remove(searchable.getSearchManager().getSearchCategoryId());
+ if (removedCategory != null) {
+ fireRegistryEvent(GlobalSearchRegistryEvent.RegistrationEvent.SEARCH_CATEGORY_UNREGISTERED, removedCategory);
+ LogService.getRoot().log(Level.INFO, "com.rapidminer.search.GlobalSearchRegistry.category_removed", removedCategory.getCategoryId());
+ }
+ }
+
+ /**
+ * Returns all registered search categories.
+ *
+ * @return the registered search categories, never {@code null}
+ */
+ public List getAllSearchCategories() {
+ return new ArrayList<>(map.values());
+ }
+
+ /**
+ * Returns the search category specified by the given id. If the categoryId is unknown, returns {@code null}!
+ *
+ * @param categoryId
+ * the category id for which the registered search category should be returned.
+ * @return the category or {@code null} if it is not registered
+ */
+ public GlobalSearchCategory getSearchCategoryById(String categoryId) {
+ return map.get(categoryId);
+ }
+
+ /**
+ * Checks if the given search category id is registered.
+ *
+ * @param categoryId
+ * the id, must not be {@code null}
+ * @return {@code true} if the search category is registered; {@code false} otherwise
+ */
+ protected boolean isSearchCategoryRegistered(String categoryId) {
+ return map.containsKey(categoryId);
+ }
+
+
+ /**
+ * Fires the given {@link GlobalSearchRegistryEvent}.
+ *
+ * @param type
+ * the event type
+ * @param category
+ * the event origin {@link GlobalSearchCategory} instance
+ */
+ private void fireRegistryEvent(final GlobalSearchRegistryEvent.RegistrationEvent type, final GlobalSearchCategory category) {
+ synchronized (listeners) {
+ for (GlobalSearchRegistryEventListener listener : listeners) {
+ listener.searchCategoryRegistrationChanged(new GlobalSearchRegistryEvent(type), category);
+ }
+ }
+ }
+}
diff --git a/src/main/java/com/rapidminer/search/GlobalSearchResult.java b/src/main/java/com/rapidminer/search/GlobalSearchResult.java
new file mode 100644
index 000000000..62f6e3784
--- /dev/null
+++ b/src/main/java/com/rapidminer/search/GlobalSearchResult.java
@@ -0,0 +1,132 @@
+/**
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
+ *
+ * Complete list of developers available at our web site:
+ *
+ * http://rapidminer.com
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General
+ * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any
+ * later version.
+ *
+ * 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/.
+ */
+package com.rapidminer.search;
+
+import java.util.Collections;
+import java.util.List;
+
+import org.apache.lucene.document.Document;
+import org.apache.lucene.search.ScoreDoc;
+
+
+/**
+ * POJO for Global Search results. Contains all relevant information of the search and its results. Use {@link
+ * GlobalSearchResultBuilder} to acquire {@link GlobalSearchResult}s.
+ *
+ * @author Marco Boeck
+ * @since 8.1
+ */
+public final class GlobalSearchResult {
+
+ private String query;
+ private List results;
+ private ScoreDoc lastResult;
+ private long maxPotentialResults;
+ private List bestFragments;
+
+ /**
+ * Creates a new search results container.
+ *
+ * @param results
+ * the list of documents the search found
+ * @param query
+ * the query string that was used
+ * @param lastResult
+ * the last result if more exist than have been returned. Can be {@code null}
+ * @param maxPotentialResults
+ * the total number of result hits, or {code -1} if results are empty
+ * @param bestFragments
+ * the highlighted best fragments of the {@link GlobalSearchUtilities#FIELD_NAME} content, can be {@code null} if highlighting was disabled. Can also contain {@code null} elements.
+ */
+ GlobalSearchResult(final List results, final String query, final ScoreDoc lastResult, final long maxPotentialResults, final List bestFragments) {
+ this.query = query;
+ this.results = results;
+ this.lastResult = lastResult;
+ this.maxPotentialResults = maxPotentialResults;
+ this.bestFragments = bestFragments;
+ }
+
+ /**
+ * Returns a list of the actual result documents of this search.
+ *
+ * @return the results which may be empty, never {@code null}
+ */
+ public List getResultDocuments() {
+ return results;
+ }
+
+ /**
+ * The last result. If more potential hits exist than results have been returned, you can pass this as an offset
+ * to the next search call (see {@link GlobalSearchResultBuilder#setSearchOffset(ScoreDoc)}) to fetch the next results.
+ *
+ * @return the lowest ranked result or {@code null} if the results are empty
+ */
+ public ScoreDoc getLastResult() {
+ return lastResult;
+ }
+
+ /**
+ * The number of results included in this {@link GlobalSearchResult}.
+ * See {@link #getPotentialNumberOfResults()} for how many potential results can been found
+ *
+ * @return the number of hits contained in this result
+ */
+ public int getNumberOfResults() {
+ return getResultDocuments().size();
+ }
+
+ /**
+ * Returns the total number of potential hits for the search query.
+ *
+ * @return the total number of hits or {@code -1} if the results are empty
+ */
+ public long getPotentialNumberOfResults() {
+ return maxPotentialResults;
+ }
+
+ /**
+ * The original query string.
+ * @return the query, never {@code null}
+ */
+ public String getQuery() {
+ return query;
+ }
+
+ /**
+ * Returns the highlighted best fragments of the {@link GlobalSearchUtilities#FIELD_NAME} content. Order is one-to-one same as the {@link #getResultDocuments()}.
+ *
+ * @return the html-formatted, highlighted best result fragments for the name field or {@code null} if no match was
+ * found, same order as {@link #getResultDocuments()}. Can also be {@code null} if highlighting was
+ * disabled. Use {@link com.rapidminer.gui.search.GlobalSearchGUIUtilities#createHTMLHighlightFromString(String, String[])} to create an HTML snippet highlighting the best matches.
+ */
+ public List getBestFragments() {
+ return bestFragments;
+ }
+
+ /**
+ * Returns an empty result.
+ *
+ * @param query
+ * the query which delivered the empty result
+ * @return an empty result, never {@code null}
+ */
+ protected static GlobalSearchResult createEmptyResult(final String query) {
+ return new GlobalSearchResult(Collections.emptyList(), query, null, -1, null);
+ }
+}
diff --git a/src/main/java/com/rapidminer/search/GlobalSearchResultBuilder.java b/src/main/java/com/rapidminer/search/GlobalSearchResultBuilder.java
new file mode 100644
index 000000000..fe41ce20b
--- /dev/null
+++ b/src/main/java/com/rapidminer/search/GlobalSearchResultBuilder.java
@@ -0,0 +1,177 @@
+/**
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
+ *
+ * Complete list of developers available at our web site:
+ *
+ * http://rapidminer.com
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General
+ * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any
+ * later version.
+ *
+ * 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/.
+ */
+package com.rapidminer.search;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.apache.lucene.queryparser.classic.ParseException;
+import org.apache.lucene.search.ScoreDoc;
+
+
+/**
+ * Fetches the search results by using a builder pattern. Call {@link #runSearch()} to execute the search query and
+ * get a {@link GlobalSearchResult}.
+ *
+ * @author Marco Boeck
+ * @since 8.1
+ */
+public final class GlobalSearchResultBuilder {
+
+ private static final int MAX_RESULTS_DEFAULT = 20;
+
+ private final String searchTerm;
+ private int maxNumberOfResults;
+ private boolean highlightResult;
+ private boolean simpleMode;
+ private ScoreDoc after;
+ private List categories;
+
+ /**
+ * Creates the search result builder for this search query with defaults for all other options.
+ *
+ * @param searchQuery
+ * the search query string, must neither be {@code null} nor empty
+ * @throws IllegalArgumentException
+ * if searchQuery is {@code null} or empty
+ * @throws IllegalStateException
+ * if {@link GlobalSearchIndexer#isInitialized()} returns {@code false}
+ */
+ public GlobalSearchResultBuilder(final String searchQuery) {
+ if (searchQuery == null || searchQuery.trim().isEmpty()) {
+ throw new IllegalArgumentException("searchQuery must neither be null nor empty!");
+ }
+ if (!GlobalSearchIndexer.INSTANCE.isInitialized()) {
+ throw new IllegalStateException("GlobalSearchIndexer is not initialized, cannot search");
+ }
+ this.searchTerm = searchQuery;
+
+ //set default values
+ this.maxNumberOfResults = MAX_RESULTS_DEFAULT;
+ this.highlightResult = false;
+ this.after = null;
+ this.categories = null;
+ }
+
+ /**
+ * Set the maximum number of results to return.
+ *
+ *
By default, {@value #MAX_RESULTS_DEFAULT} are returned.
+ *
+ * @param maxNumberOfResults
+ * the maximum number of results
+ * @return the builder instance
+ */
+ public GlobalSearchResultBuilder setMaxNumberOfResults(final int maxNumberOfResults) {
+ if (maxNumberOfResults <= 0) {
+ throw new IllegalArgumentException("maxNumberOfResults must be > 0!");
+ }
+ this.maxNumberOfResults = maxNumberOfResults;
+ return this;
+ }
+
+ /**
+ * Set if result matches for the {@value GlobalSearchUtilities#FIELD_NAME} field should be returned as {@link
+ * GlobalSearchResult#getBestFragments()}.
+ *
+ *
By default, search highlighting is disabled.
+ *
+ * @param highlightResult
+ * if {@code true}, the {@link GlobalSearchResult#getBestFragments()} will be created
+ * @return the builder instance
+ */
+ public GlobalSearchResultBuilder setHighlightResult(final boolean highlightResult) {
+ this.highlightResult = highlightResult;
+ return this;
+ }
+
+ /**
+ * Set an optional search offset. This can be used for result pagination by using {@link
+ * GlobalSearchResult#getLastResult()} as the offset for the next search.
+ *
+ *
By default, there is no offset and the n requested top-ranked documents are
+ * returned.
+ *
+ * @param after
+ * Optional. If not {@code null}, then the search results are retrieved from ranks lower than the given
+ * {@link ScoreDoc}.
+ * @return the builder instance
+ */
+ public GlobalSearchResultBuilder setSearchOffset(final ScoreDoc after) {
+ this.after = after;
+ return this;
+ }
+
+ /**
+ * Define which {@link GlobalSearchCategory}s to include in the search. See {@link GlobalSearchRegistry} for more
+ * information about registered search categories.
+ *
+ *
By default, all categories are included.
+ *
+ * @param categories
+ * Optional. If {@code null} or not specified, all registered search categories are included in the
+ * search. If given, they have to registered at the {@link GlobalSearchRegistry}, otherwise an {@link
+ * IllegalArgumentException} will be thrown
+ * @return the builder instance
+ * @throws IllegalArgumentException
+ * if categories which are not registered are passed
+ */
+ public GlobalSearchResultBuilder setSearchCategories(final GlobalSearchCategory... categories) {
+ if (categories != null) {
+ for (GlobalSearchCategory category : categories) {
+ if (category == null) {
+ throw new IllegalArgumentException("search category NULL does not exist!");
+ } else if (!GlobalSearchRegistry.INSTANCE.isSearchCategoryRegistered(category.getCategoryId())) {
+ throw new IllegalArgumentException("search category " + category.getCategoryId() + " is not registered!");
+ }
+ }
+ this.categories = Arrays.asList(categories);
+ }
+ return this;
+ }
+
+ /**
+ * If simple mode is activated, will try to make the query as user-friendly as possible, e.g. making it a wildcard search, etc.
+ * This may have no effect if the user is using advanced query syntax in the search query himself!
+ * Exact behavior might differ between Studio versions.
+ *
+ * Defaults to {@code false} if not specified.
+ *
+ *
+ * @param simpleMode
+ * if {@code true}, will try to make the query automatically user-friendly (e.g. adding wildcards and making the search fuzzy); {@code false} will not make any changes to the query.
+ * Note that if a simplified query cannot be parsed, the search will fall back to non-simple mode automatically.
+ * @return the builder instance
+ */
+ public GlobalSearchResultBuilder setSimpleMode(final boolean simpleMode) {
+ this.simpleMode = simpleMode;
+ return this;
+ }
+
+ /**
+ * Executes the actual search.
+ *
+ * @return the search result, never {@code null}
+ * @throws ParseException
+ * if the searchQuery was invalid
+ */
+ public GlobalSearchResult runSearch() throws ParseException {
+ return GlobalSearchHandler.INSTANCE.search(searchTerm, categories, simpleMode, maxNumberOfResults, highlightResult, after);
+ }
+}
diff --git a/src/main/java/com/rapidminer/search/GlobalSearchUtilities.java b/src/main/java/com/rapidminer/search/GlobalSearchUtilities.java
new file mode 100644
index 000000000..6ff679d6e
--- /dev/null
+++ b/src/main/java/com/rapidminer/search/GlobalSearchUtilities.java
@@ -0,0 +1,315 @@
+/**
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
+ *
+ * Complete list of developers available at our web site:
+ *
+ * http://rapidminer.com
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General
+ * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any
+ * later version.
+ *
+ * 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/.
+ */
+package com.rapidminer.search;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.lucene.analysis.Analyzer;
+import org.apache.lucene.analysis.CharArraySet;
+import org.apache.lucene.analysis.miscellaneous.PerFieldAnalyzerWrapper;
+import org.apache.lucene.analysis.standard.StandardAnalyzer;
+import org.apache.lucene.document.DateTools;
+import org.apache.lucene.document.Document;
+import org.apache.lucene.document.Field;
+import org.apache.lucene.document.FieldType;
+import org.apache.lucene.document.SortedNumericDocValuesField;
+import org.apache.lucene.document.StoredField;
+import org.apache.lucene.document.StringField;
+import org.apache.lucene.index.IndexOptions;
+import org.apache.lucene.index.IndexableField;
+import org.apache.lucene.queryparser.classic.QueryParser;
+
+
+/**
+ * Utility class for using Global Search features.
+ *
+ * @author Marco Boeck
+ * @since 8.1
+ */
+@SuppressWarnings("unused")
+public enum GlobalSearchUtilities {
+
+ INSTANCE;
+
+
+ /**
+ * name of the {@link StringField} each document MUST have which
+ * represents the name/title/header of a document.
+ */
+ public static final String FIELD_NAME = "name";
+
+ /**
+ * name of the {@link StringField} each document MUST have which also
+ * must be unique across the entire category
+ */
+ public static final String FIELD_UNIQUE_ID = "id";
+
+ /**
+ * name of the category {@link org.apache.lucene.document.StringField} each document is given automatically
+ */
+ public static final String FIELD_CATEGORY = "category";
+
+ /**
+ * name of the optional {@link org.apache.lucene.document.SortedNumericDocValuesField} a document can have which is used to sort search results.
+ * The field must be numeric and contain long values!
+ */
+ public static final String FIELD_SORTING = "sort";
+
+ /** wildcard character in lucene */
+ public static final String QUERY_WILDCARD = "*";
+
+ /** searching for a field in lucene works by using fieldname followed by this delimiter and then the search term */
+ public static final String QUERY_FIELD_SPECIFIER = ":";
+
+ /** default boost of the name field in search results */
+ public static final float DEFAULT_NAME_FIELD_BOOST = 1f;
+
+ /** default boost of other fields in search results */
+ public static final float DEFAULT_OTHER_FIELD_BOOST = 0.5f;
+
+ /**
+ * The analyzer that should be used for indexing and searching.
+ * It uses a per-field analyzer where the {@link #FIELD_NAME} is analyzed without stop words, while all other fields are analyzed with stop words.
+ */
+ public static final Analyzer ANALYZER;
+
+ static {
+ Map analyzerMap = new HashMap<>();
+ analyzerMap.put(FIELD_NAME, new StandardAnalyzer(CharArraySet.EMPTY_SET));
+
+ ANALYZER = new PerFieldAnalyzerWrapper(new StandardAnalyzer(), analyzerMap);
+ }
+
+
+ private static final String PATH_REPLACEMENT = "REPOSITORYPATHDELIMITER";
+ private static final String WHITESPACE_REPLACEMENT = "WHITESPACEINPATH";
+ private static final String PLUS_REPLACEMENT = "PLUS";
+ private static final String MINUS_REPLACEMENT = "MINUS";
+ private static final String AND_REPLACEMENT = "AMPERSAND";
+ private static final String EXCLAMATION_MARK_REPLACEMENT = "EXCLAMATIONMARK";
+ private static final String BRACKET_OPEN_REPLACEMENT = "BRACKETOPEN";
+ private static final String BRACKET_CLOSE_REPLACEMENT = "BRACKETCLOSE";
+ private static final String BRACKET_EDGED_OPEN_REPLACEMENT = "BRACKETEDGEDOPEN";
+ private static final String BRACKET_EDGED_CLOSED_REPLACEMENT = "BRACKETEDGEDCLOSE";
+ private static final String BRACKET_CURLY_OPEN_REPLACEMENT = "BRACKETCURLYOPEN";
+ private static final String BRACKET_CURLY_CLOSED_REPLACEMENT = "BRACKETCURLYCLOSE";
+ private static final String POWER_REPLACEMENT = "POWER";
+ private static final String TILDE_REPLACEMENT = "TILDE";
+
+ /** key is what will be replaced, value is the replacement */
+ private static final Map PATH_REPLACEMENT_MAP ;
+
+ static {
+ PATH_REPLACEMENT_MAP = new HashMap<>();
+
+ // add things that need to be escaped from repository paths for the Global Search to not interfere with Lucene syntax
+ PATH_REPLACEMENT_MAP.put("\\/", PATH_REPLACEMENT);
+ PATH_REPLACEMENT_MAP.put("\\s", WHITESPACE_REPLACEMENT);
+ PATH_REPLACEMENT_MAP.put("\\+", PLUS_REPLACEMENT);
+ PATH_REPLACEMENT_MAP.put("\\-", MINUS_REPLACEMENT);
+ PATH_REPLACEMENT_MAP.put("\\&", AND_REPLACEMENT);
+ PATH_REPLACEMENT_MAP.put("\\!", EXCLAMATION_MARK_REPLACEMENT);
+ PATH_REPLACEMENT_MAP.put("\\(", BRACKET_OPEN_REPLACEMENT);
+ PATH_REPLACEMENT_MAP.put("\\)", BRACKET_CLOSE_REPLACEMENT);
+ PATH_REPLACEMENT_MAP.put("\\[", BRACKET_EDGED_OPEN_REPLACEMENT);
+ PATH_REPLACEMENT_MAP.put("\\]", BRACKET_EDGED_CLOSED_REPLACEMENT);
+ PATH_REPLACEMENT_MAP.put("\\{", BRACKET_CURLY_OPEN_REPLACEMENT);
+ PATH_REPLACEMENT_MAP.put("\\}", BRACKET_CURLY_CLOSED_REPLACEMENT);
+ PATH_REPLACEMENT_MAP.put("\\^", POWER_REPLACEMENT);
+ PATH_REPLACEMENT_MAP.put("~", TILDE_REPLACEMENT);
+ }
+
+ private final FieldType titleFieldType;
+ private final FieldType textFieldType;
+
+
+ GlobalSearchUtilities() {
+ titleFieldType = new FieldType();
+ titleFieldType.setIndexOptions(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS);
+ titleFieldType.setStored(true);
+ titleFieldType.setTokenized(true);
+
+ textFieldType = new FieldType();
+ textFieldType.setIndexOptions(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS);
+ textFieldType.setStored(true);
+ textFieldType.setTokenized(true);
+ textFieldType.setStoreTermVectors(true);
+ textFieldType.setStoreTermVectorPositions(true);
+ textFieldType.setStoreTermVectorOffsets(true);
+ textFieldType.setStoreTermVectorPayloads(true);
+ }
+
+ /**
+ * Creates a {@link Document} instance in a way that can be used by the Global Search {@link GlobalSearchHandler} while you
+ * can also supply all the advanced fields you deem necessary.
See utility methods in this class to create
+ * fields:
{@link #createFieldForTitles(String, String)}
{@link #createFieldForTexts(String,
+ * String)}
+ *
+ * @param uniqueId
+ * this is a unique id across the search category. To later access it again, call {@link Document#get(String)}
+ * with {@link #FIELD_UNIQUE_ID} as parameter.
+ * @param title
+ * this is the title/name/header of a document
+ * @param fields
+ * Optional fields to add further search information, e.g. tags, timestamps, etc
+ * @return the document instance, never {@code null}
+ */
+ public Document createDocument(final String uniqueId, final String title, final Field... fields) {
+ Document doc = new Document();
+ doc.add(createFieldForIdentifiers(FIELD_UNIQUE_ID, uniqueId));
+ doc.add(createFieldForTitles(FIELD_NAME, title));
+ for (Field field : fields) {
+ doc.add(field);
+ }
+
+ return doc;
+ }
+
+ /**
+ * Tries to get the id of the {@link GlobalSearchCategory} from which this {@link Document} originates.
+ *
+ * @param document
+ * the document for which the category id should be returned
+ * @return the category id or {@code null} if it does not belong to any known category or to none at all
+ */
+ public String getSearchCategoryIdForDocument(final Document document) {
+ if (document == null) {
+ throw new IllegalArgumentException("document must not be null!");
+ }
+
+ IndexableField categoryField = document.getField(FIELD_CATEGORY);
+ if (categoryField != null) {
+ String categoryId = categoryField.stringValue();
+ if (GlobalSearchRegistry.INSTANCE.isSearchCategoryRegistered(categoryId)) {
+ return categoryId;
+ }
+ }
+
+ return null;
+ }
+
+ /**
+ * Creates a search document {@link Field} for very short strings like titles, names, etc.
+ *
+ * @param key the name of the field, e.g. {@link #FIELD_NAME}
+ * @param value
+ * the value string, e.g. a title
+ * @return the field, never {@code null}
+ */
+ public Field createFieldForTitles(final String key, final String value) {
+ return new Field(key, value, titleFieldType);
+ }
+
+ /**
+ * Creates a search document {@link Field} for longer search strings like texts, descriptions, etc.
+ *
+ * @param key the name of the field, e.g. {@code content}
+ * @param value
+ * the value string, e.g. a description text
+ * @return the field, never {@code null}
+ */
+ public Field createFieldForTexts(final String key, final String value) {
+ return new Field(key, value, textFieldType);
+ }
+
+ /**
+ * Creates a search document {@link Field} for date values (ms since epoch).
+ *
+ * @param key
+ * the name of the field, e.g. {@code modified}
+ * @param value
+ * the ms since epoch
+ * @return the field, never {@code null}
+ */
+ public Field createFieldForDateValues(final String key, final long value) {
+ return createFieldForIdentifiers(key, DateTools.timeToString(value, DateTools.Resolution.DAY));
+ }
+
+ /**
+ * Creates a search document {@link Field} for identifier strings like tags, location, etc.
+ *
+ * @param key the name of the field, e.g. {@code location}
+ * @param value
+ * the value string, e.g. a description text
+ * @return the field, never {@code null}
+ */
+ public Field createFieldForIdentifiers(final String key, final String value) {
+ return new StringField(key, value, Field.Store.YES);
+ }
+
+ /**
+ * Creates a search document {@link Field} for binary data that should be stored but not searched. This can then later be retrieved again.
+ *
+ * @param key the name of the field, e.g. {@code data}
+ * @param bytes
+ * the byte array
+ * @return the field, never {@code null}
+ */
+ public Field createFieldForBinary(final String key, final byte[] bytes) {
+ return new StoredField(key, bytes);
+ }
+
+ /**
+ * Creates a search document {@link Field} for sorting with long values.
+ *
+ * @param value
+ * the long value. Higher values are sorted higher than lower values
+ * @return the field which is used for sorting, never {@code null}
+ */
+ public Field createSortingField(final long value) {
+ return new SortedNumericDocValuesField("sort", value);
+ }
+
+ /**
+ * Encodes a repository path (see {@link com.rapidminer.repository.RepositoryLocation}) for searching.
+ * This means that {@link com.rapidminer.repository.RepositoryLocation#REPOSITORY_PREFIX} and
+ * {@link com.rapidminer.repository.RepositoryLocation#SEPARATOR} will be replaced by a string and all whitespaces will be replaced by another string.
+ *
+ * @param path
+ * the full repository path
+ * @return the full repository path where path seperators and whitespaces have been replaced with a specific string
+ */
+ public String encodeRepositoryPath(final String path) {
+ if (path == null) {
+ throw new IllegalArgumentException("path must not be null!");
+ }
+
+ String modifiedPath = path;
+ for (Map.Entry replacement : PATH_REPLACEMENT_MAP.entrySet()) {
+ modifiedPath = modifiedPath.replaceAll(replacement.getKey(), replacement.getValue());
+ }
+ return modifiedPath;
+ }
+
+ /**
+ * Encodes a query string so special syntax characters used by Lucene are encoded.
+ *
+ * @param query
+ * the query string to encode
+ * @return the encoded string, ready to be used by Lucene as a query string
+ */
+ public String escapeQueryString(final String query) {
+ if (query == null) {
+ throw new IllegalArgumentException("query must not be null!");
+ }
+
+ return QueryParser.escape(query);
+ }
+}
diff --git a/src/main/java/com/rapidminer/search/GlobalSearchable.java b/src/main/java/com/rapidminer/search/GlobalSearchable.java
new file mode 100644
index 000000000..9e4ee3e00
--- /dev/null
+++ b/src/main/java/com/rapidminer/search/GlobalSearchable.java
@@ -0,0 +1,36 @@
+/**
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
+ *
+ * Complete list of developers available at our web site:
+ *
+ * http://rapidminer.com
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the
+ * GNU Affero General Public License as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * 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/.
+ */
+package com.rapidminer.search;
+
+/**
+ * Things that should be searchable via the Global Search feature must implement this interface. Register them to the {@link
+ * GlobalSearchRegistry} so they are automatically included in the search.
+ *
+ * @author Marco Boeck
+ * @since 8.1
+ */
+public interface GlobalSearchable {
+
+ /**
+ * Returns the {@link GlobalSearchManager} instance for this searchable item.
+ *
+ * @return the search manager instance, never {@code null}
+ */
+ GlobalSearchManager getSearchManager();
+}
diff --git a/src/main/java/com/rapidminer/search/event/GlobalSearchManagerEventHandler.java b/src/main/java/com/rapidminer/search/event/GlobalSearchManagerEventHandler.java
new file mode 100644
index 000000000..9e522d09d
--- /dev/null
+++ b/src/main/java/com/rapidminer/search/event/GlobalSearchManagerEventHandler.java
@@ -0,0 +1,145 @@
+/**
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
+ *
+ * Complete list of developers available at our web site:
+ *
+ * http://rapidminer.com
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the
+ * GNU Affero General Public License as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * 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/.
+ */
+package com.rapidminer.search.event;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+
+import org.apache.lucene.document.Document;
+
+import com.rapidminer.search.GlobalSearchManager;
+import com.rapidminer.search.GlobalSearchable;
+import com.rapidminer.search.GlobalSearchUtilities;
+
+
+/**
+ * Handles events relevant to searching for {@link GlobalSearchManager}s, e.g. addition/updates/removal
+ * of documents. Must be called by the {@link GlobalSearchable} whenever something changes and thus the
+ * search index should be updated. Needs the search category id (as defined in the {@link
+ * GlobalSearchManager}).
+ *
+ *
Attention: Please make sure that each {@link Document} has the following fields:
{@link
+ * org.apache.lucene.document.TextField} with the key {@value GlobalSearchUtilities#FIELD_NAME} which contains the
+ * name/title/header for a search document.
{@link org.apache.lucene.document.StringField} with the key {@value
+ * GlobalSearchUtilities#FIELD_UNIQUE_ID} which contains a unique id across the entire search category! This is necessary to
+ * either update or remove documents from the search later on.
+ *
+ * You can use {@link GlobalSearchUtilities} to create documents.
+ *
+ * @author Marco Boeck
+ * @since 8.1
+ */
+public class GlobalSearchManagerEventHandler {
+
+ private final List listeners = Collections.synchronizedList(new ArrayList<>());
+
+ private final String categoryId;
+
+ /**
+ * Hidden to prevent instantiation without category id.
+ */
+ @SuppressWarnings("unused")
+ private GlobalSearchManagerEventHandler() {
+ throw new UnsupportedOperationException("must be created with a category id!");
+ }
+
+ /**
+ * Creates a new search manager event handler for the given search manager instance.
+ *
+ * @param categoryId
+ * the search category id for this event handler instance, must not be {@code null}
+ */
+ public GlobalSearchManagerEventHandler(String categoryId) {
+ this.categoryId = categoryId;
+ }
+
+ /**
+ * Adds a {@link GlobalSearchManagerListener} which should be informed of all changes to the search manager. To remove it
+ * again, call {@link #removeEventListener(GlobalSearchManagerListener)}.
+ *
+ * @param listener
+ * the listener instance to add
+ */
+ public void addEventListener(final GlobalSearchManagerListener listener) {
+ if (listener == null) {
+ throw new IllegalArgumentException("listener must not be null!");
+ }
+ listeners.add(listener);
+ }
+
+ /**
+ * Removes the {@link GlobalSearchManagerListener} from this registry.
+ *
+ * @param listener
+ * the listener instance to remove
+ */
+ public void removeEventListener(final GlobalSearchManagerListener listener) {
+ if (listener == null) {
+ throw new IllegalArgumentException("listener must not be null!");
+ }
+ listeners.remove(listener);
+ }
+
+ /**
+ * Notifies all registered {@link GlobalSearchManagerListener}s that new {@link Document}s have been added. See
+ * {@link GlobalSearchUtilities} for helper methods to create documents.
+ *
+ * @param addedDocuments
+ * the documents that have been added
+ */
+ public void fireDocumentsAdded(Collection addedDocuments) {
+ synchronized (listeners) {
+ for (GlobalSearchManagerListener listener : listeners) {
+ listener.documentsAdded(categoryId, addedDocuments);
+ }
+ }
+ }
+
+ /**
+ * Notifies all registered {@link GlobalSearchManagerListener}s that indexed {@link Document}s have been updated. See
+ * {@link GlobalSearchUtilities} for helper methods to create documents.
+ *
+ * @param updatedDocuments
+ * the documents that have been updated
+ */
+ public void fireDocumentsUpdated(Collection updatedDocuments) {
+ synchronized (listeners) {
+ for (GlobalSearchManagerListener listener : listeners) {
+ listener.documentsUpdated(categoryId, updatedDocuments);
+ }
+ }
+ }
+
+ /**
+ * Notifies all registered {@link GlobalSearchManagerListener}s that indexed {@link Document}s have been removed. See
+ * {@link GlobalSearchUtilities} for helper methods to create documents.
+ *
+ * @param removedDocuments
+ * the documents that have been removed
+ */
+ public void fireDocumentsRemoved(Collection removedDocuments) {
+ synchronized (listeners) {
+ for (GlobalSearchManagerListener listener : listeners) {
+ listener.documentsRemoved(categoryId, removedDocuments);
+ }
+ }
+ }
+}
diff --git a/src/main/java/com/rapidminer/search/event/GlobalSearchManagerListener.java b/src/main/java/com/rapidminer/search/event/GlobalSearchManagerListener.java
new file mode 100644
index 000000000..1943c946f
--- /dev/null
+++ b/src/main/java/com/rapidminer/search/event/GlobalSearchManagerListener.java
@@ -0,0 +1,66 @@
+/**
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
+ *
+ * Complete list of developers available at our web site:
+ *
+ * http://rapidminer.com
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the
+ * GNU Affero General Public License as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * 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/.
+ */
+package com.rapidminer.search.event;
+
+import java.util.Collection;
+import java.util.EventListener;
+
+import org.apache.lucene.document.Document;
+
+import com.rapidminer.search.GlobalSearchManager;
+
+
+/**
+ * Listens for events on a {@link GlobalSearchManager}.
+ *
+ * @author Marco Boeck
+ * @since 8.1
+ */
+public interface GlobalSearchManagerListener extends EventListener {
+
+ /**
+ * Fired when {@link Document}s have been added.
+ *
+ * @param categoryId
+ * the id of the {@link GlobalSearchManager} search category
+ * @param addedDocuments
+ * the added documents, never {@code null}
+ */
+ void documentsAdded(final String categoryId, final Collection addedDocuments);
+
+ /**
+ * Fired when {@link Document}s have been updated.
+ *
+ * @param categoryId
+ * the id of the {@link GlobalSearchManager} search category
+ * @param updatedDocuments
+ * the updated documents, never {@code null}
+ */
+ void documentsUpdated(final String categoryId, final Collection updatedDocuments);
+
+ /**
+ * Fired when {@link Document}s have been removed.
+ *
+ * @param categoryId
+ * the id of the {@link GlobalSearchManager} search category
+ * @param removedDocuments
+ * the removed documents, never {@code null}
+ */
+ void documentsRemoved(final String categoryId, final Collection removedDocuments);
+}
diff --git a/src/main/java/com/rapidminer/search/event/GlobalSearchRegistryEvent.java b/src/main/java/com/rapidminer/search/event/GlobalSearchRegistryEvent.java
new file mode 100644
index 000000000..0392be37c
--- /dev/null
+++ b/src/main/java/com/rapidminer/search/event/GlobalSearchRegistryEvent.java
@@ -0,0 +1,69 @@
+/**
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
+ *
+ * Complete list of developers available at our web site:
+ *
+ * http://rapidminer.com
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the
+ * GNU Affero General Public License as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * 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/.
+ */
+package com.rapidminer.search.event;
+
+import com.rapidminer.search.GlobalSearchRegistry;
+
+
+/**
+ * Events for registrations/unregistrations at the {@link GlobalSearchRegistry}.
+ *
+ * @author Marco Boeck
+ * @since 8.1
+ */
+public final class GlobalSearchRegistryEvent {
+
+
+ /**
+ * Defines different kind of {@link RegistrationEvent}s.
+ */
+ public enum RegistrationEvent {
+ /**
+ * fired when a searchable has been registered
+ */
+ SEARCH_CATEGORY_REGISTERED,
+
+ /**
+ * fired when a searchable has been unregistered
+ */
+ SEARCH_CATEGORY_UNREGISTERED
+ }
+
+ private final RegistrationEvent type;
+
+ /**
+ * Creates a new {@link GlobalSearchRegistryEvent} instance for the specified {@link RegistrationEvent}.
+ *
+ * @param type
+ * the event type
+ */
+ public GlobalSearchRegistryEvent(final RegistrationEvent type) {
+ this.type = type;
+ }
+
+ /**
+ * Returns the {@link RegistrationEvent}.
+ *
+ * @return the type of the event
+ */
+ public RegistrationEvent getEventType() {
+ return type;
+ }
+
+}
diff --git a/src/main/java/com/rapidminer/search/event/GlobalSearchRegistryEventListener.java b/src/main/java/com/rapidminer/search/event/GlobalSearchRegistryEventListener.java
new file mode 100644
index 000000000..ccffef22c
--- /dev/null
+++ b/src/main/java/com/rapidminer/search/event/GlobalSearchRegistryEventListener.java
@@ -0,0 +1,48 @@
+/**
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
+ *
+ * Complete list of developers available at our web site:
+ *
+ * http://rapidminer.com
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the
+ * GNU Affero General Public License as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * 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/.
+*/
+package com.rapidminer.search.event;
+
+import java.util.EventListener;
+
+import com.rapidminer.search.GlobalSearchRegistry;
+import com.rapidminer.search.GlobalSearchable;
+import com.rapidminer.search.GlobalSearchCategory;
+
+
+/**
+ * An object listening for {@link GlobalSearchRegistryEvent}s on the {@link GlobalSearchRegistry}.
+ *
+ * @author Marco Boeck
+ * @since 8.1
+ *
+ */
+public interface GlobalSearchRegistryEventListener extends EventListener {
+
+ /**
+ * Called when a new {@link GlobalSearchable} has been registered to the {@link
+ * GlobalSearchRegistry}.
+ *
+ * @param e
+ * the event instance, never {@code null}
+ * @param category
+ * the search category that triggered the event, never {@code null}
+ */
+ void searchCategoryRegistrationChanged(final GlobalSearchRegistryEvent e, final GlobalSearchCategory category);
+
+}
diff --git a/src/main/java/com/rapidminer/security/PluginSandboxPolicy.java b/src/main/java/com/rapidminer/security/PluginSandboxPolicy.java
index cd81aff8f..50865a902 100644
--- a/src/main/java/com/rapidminer/security/PluginSandboxPolicy.java
+++ b/src/main/java/com/rapidminer/security/PluginSandboxPolicy.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -210,11 +210,7 @@ private static boolean isUnsignedPlugin(ProtectionDomain domain) {
*
*/
private static boolean isGroovyScript(ProtectionDomain domain) {
- if (domain.getCodeSource().getLocation() != null
- && domain.getCodeSource().getLocation().getPath().contains(ScriptingOperator.GROOVY_DOMAIN)) {
- return true;
- }
- return false;
+ return domain.getCodeSource().getLocation() != null && domain.getCodeSource().getLocation().getPath().contains(ScriptingOperator.GROOVY_DOMAIN);
}
/**
@@ -226,10 +222,7 @@ private static boolean isGroovyScript(ProtectionDomain domain) {
*
*/
private static boolean isUnknown(ProtectionDomain domain) {
- if (domain == null || domain.getCodeSource() == null) {
- return true;
- }
- return false;
+ return domain == null || domain.getCodeSource() == null;
}
/**
@@ -274,36 +267,38 @@ private static PermissionCollection createUnsignedPermissions(final PluginClassL
permissions.add(new PropertyPermission("*", "read"));
- AccessController.doPrivileged(new PrivilegedAction() {
-
- @Override
- public Void run() {
- String userHome = System.getProperty("user.home");
- String tmpDir = System.getProperty("java.io.tmpdir");
- String pluginKey = loader.getPluginKey();
-
- // delete access to the general temp directory
- permissions.add(new FilePermission(tmpDir, "read, write"));
- permissions.add(new FilePermission(tmpDir + "/-", "read, write, delete"));
-
- // extensions can only delete files in their own subfolder of the
- // .RapidMiner/extensions/workspace folder
- if (pluginKey != null) {
- String pluginFolder = pluginKey;
-
- permissions.add(new FilePermission(userHome + "/.RapidMiner/extensions", "read"));
- permissions.add(new FilePermission(userHome + "/.RapidMiner/extensions/workspace", "read"));
- permissions.add(new FilePermission(userHome + "/.RapidMiner/extensions/workspace/" + pluginFolder,
- "read, write"));
- permissions.add(new FilePermission(userHome + "/.RapidMiner/extensions/workspace/" + pluginFolder + "/-",
- "read, write, delete"));
- }
-
- // unfortunately currently we have to give all location permissons to read/write
- // files to not block extensions that add "Read/Write xyz" operators
- permissions.add(new FilePermission("<>", "read, write"));
- return null;
+ AccessController.doPrivileged((PrivilegedAction) () -> {
+
+ String userHome = System.getProperty("user.home");
+ String tmpDir = System.getProperty("java.io.tmpdir");
+ String pluginKey = loader.getPluginKey();
+
+ // delete access to the general temp directory
+ permissions.add(new FilePermission(tmpDir, "read, write"));
+ permissions.add(new FilePermission(tmpDir + "/-", "read, write, delete"));
+
+ // extensions can only delete files in their own subfolder of the
+ // .RapidMiner/extensions/workspace folder
+ if (pluginKey != null) {
+
+ permissions.add(new FilePermission(userHome + "/.RapidMiner/extensions", "read"));
+ permissions.add(new FilePermission(userHome + "/.RapidMiner/extensions/workspace", "read"));
+ permissions.add(new FilePermission(userHome + "/.RapidMiner/extensions/workspace/" + pluginKey,
+ "read, write"));
+ permissions.add(new FilePermission(userHome + "/.RapidMiner/extensions/workspace/" + pluginKey + "/-",
+ "read, write, delete"));
+
+ // global search permissions
+ permissions.add(new FilePermission(userHome + "/.RapidMiner/internal cache/search/",
+ "read, write"));
+ permissions.add(new FilePermission(userHome + "/.RapidMiner/internal cache/search/-",
+ "read, write, delete"));
}
+
+ // unfortunately currently we have to give all location permissons to read/write
+ // files to not block extensions that add "Read/Write xyz" operators
+ permissions.add(new FilePermission("<>", "read, write"));
+ return null;
});
addCommonPermissions(permissions);
@@ -317,9 +312,8 @@ public Void run() {
* @return the permissions, never {@code null}
*/
private static PermissionCollection createUnknownSourcePermissions() {
- Permissions permissions = new Permissions();
// empty permissions, not allowed to do anything
- return permissions;
+ return new Permissions();
}
/**
@@ -399,6 +393,10 @@ private static void addCommonPermissions(Permissions permissions) {
* during verification of all certificates. Can be {@code null}
*/
private static void verifyCertificates(Certificate[] certificates) throws GeneralSecurityException {
+ if (certificates == null || certificates.length == 0) {
+ throw new GeneralSecurityException("No code certificates found!");
+ }
+
GeneralSecurityException lastException = null;
boolean verified = false;
for (Certificate certificate : certificates) {
@@ -425,13 +423,7 @@ private static void verifyCertificates(Certificate[] certificates) throws Genera
private static boolean isSecurityEnforced() {
// no need to synchronize, if this is entered multiple times it's fine
if (enforced == null) {
- enforced = AccessController.doPrivileged(new PrivilegedAction() {
-
- @Override
- public Boolean run() {
- return Boolean.parseBoolean(System.getProperty(PROPERTY_SECURITY_ENFORCED));
- }
- });
+ enforced = AccessController.doPrivileged((PrivilegedAction) () -> Boolean.parseBoolean(System.getProperty(PROPERTY_SECURITY_ENFORCED)));
if (enforced) {
LogService.getRoot().log(Level.INFO,
diff --git a/src/main/java/com/rapidminer/security/PluginSecurityManager.java b/src/main/java/com/rapidminer/security/PluginSecurityManager.java
index 21c5029d9..37df07ab1 100644
--- a/src/main/java/com/rapidminer/security/PluginSecurityManager.java
+++ b/src/main/java/com/rapidminer/security/PluginSecurityManager.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/security/internal/InternalPluginClassLoader.java b/src/main/java/com/rapidminer/security/internal/InternalPluginClassLoader.java
index 9d87afdc6..afe21b95c 100644
--- a/src/main/java/com/rapidminer/security/internal/InternalPluginClassLoader.java
+++ b/src/main/java/com/rapidminer/security/internal/InternalPluginClassLoader.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/concurrency/internal/ConcurrencyExecutionService.java b/src/main/java/com/rapidminer/studio/concurrency/internal/ConcurrencyExecutionService.java
index 3e451a51c..80dc44d19 100644
--- a/src/main/java/com/rapidminer/studio/concurrency/internal/ConcurrencyExecutionService.java
+++ b/src/main/java/com/rapidminer/studio/concurrency/internal/ConcurrencyExecutionService.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/concurrency/internal/ConcurrencyExecutionServiceProvider.java b/src/main/java/com/rapidminer/studio/concurrency/internal/ConcurrencyExecutionServiceProvider.java
index 3ef58ee8c..8d131e78b 100644
--- a/src/main/java/com/rapidminer/studio/concurrency/internal/ConcurrencyExecutionServiceProvider.java
+++ b/src/main/java/com/rapidminer/studio/concurrency/internal/ConcurrencyExecutionServiceProvider.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/concurrency/internal/ExecutionExceptionHandling.java b/src/main/java/com/rapidminer/studio/concurrency/internal/ExecutionExceptionHandling.java
index 46ac3b81a..b3868627f 100644
--- a/src/main/java/com/rapidminer/studio/concurrency/internal/ExecutionExceptionHandling.java
+++ b/src/main/java/com/rapidminer/studio/concurrency/internal/ExecutionExceptionHandling.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -18,17 +18,17 @@
*/
package com.rapidminer.studio.concurrency.internal;
-import java.util.List;
import java.util.concurrent.ExecutionException;
import com.rapidminer.Process;
+import com.rapidminer.operator.ExecutionUnit;
import com.rapidminer.operator.Operator;
+import com.rapidminer.operator.OperatorChain;
import com.rapidminer.operator.OperatorException;
import com.rapidminer.operator.PortUserError;
import com.rapidminer.operator.UserError;
-import com.rapidminer.operator.ports.InputPort;
-import com.rapidminer.operator.ports.OutputPort;
import com.rapidminer.operator.ports.Port;
+import com.rapidminer.operator.ports.Ports;
/**
@@ -46,6 +46,19 @@ public enum ExecutionExceptionHandling {
/** the singleton instance */
INSTANCE;
+ /**
+ * Finds the corresponding Port in original Ports by the index of the source Port in source Ports.
+ */
+ private Port getMatchingPort(Port sourcePort, Ports> sourcePorts, Ports> originalPorts) {
+ for (int i = 0; i < sourcePorts.getNumberOfPorts(); i++) {
+ if (sourcePorts.getPortByIndex(i).equals(sourcePort)) {
+ return originalPorts.getPortByIndex(i);
+ }
+ }
+
+ return null;
+ }
+
/**
* Tries to get the underlying cause of an {@link ExecutionException} which occurred while using
* {@link ConcurrencyExecutionServiceProvider}.
@@ -96,22 +109,38 @@ public OperatorException processExecutionException(ExecutionException e, Process
}
if (sourceOperator != null && cause instanceof PortUserError) {
PortUserError portError = (PortUserError) error;
- List inputPorts = sourceOperator.getInputPorts().getAllPorts();
Port errorPort = portError.getPort();
- boolean portFound = false;
- for (int i = 0; i < inputPorts.size(); i++) {
- if (inputPorts.get(i).equals(errorPort)) {
- portError.setPort(error.getOperator().getInputPorts().getAllPorts().get(i));
- portFound = true;
- break;
- }
+
+ Port originalPort = getMatchingPort(errorPort, sourceOperator.getInputPorts(), error.getOperator().getInputPorts());
+ if (originalPort != null) {
+ portError.setPort(originalPort);
+ return portError;
+ }
+
+ originalPort = getMatchingPort(errorPort, sourceOperator.getOutputPorts(), error.getOperator().getOutputPorts());
+ if (originalPort != null) {
+ portError.setPort(originalPort);
+ return portError;
}
- if (!portFound) {
- List outputPorts = sourceOperator.getOutputPorts().getAllPorts();
- for (int i = 0; i < outputPorts.size(); i++) {
- if (outputPorts.get(i).equals(errorPort)) {
- portError.setPort(error.getOperator().getOutputPorts().getAllPorts().get(i));
- break;
+
+ if (sourceOperator instanceof OperatorChain) {
+ OperatorChain sourceOperatorChain = (OperatorChain) sourceOperator;
+ OperatorChain originalOperatorChain = (OperatorChain) error.getOperator();
+
+ for (int i = 0; i < sourceOperatorChain.getNumberOfSubprocesses(); i++) {
+ ExecutionUnit sourceExecutionUnit = sourceOperatorChain.getSubprocess(i);
+ ExecutionUnit originalExecutionUnit = originalOperatorChain.getSubprocess(i);
+
+ originalPort = getMatchingPort(errorPort, sourceExecutionUnit.getInnerSinks(), originalExecutionUnit.getInnerSinks());
+ if (originalPort != null) {
+ portError.setPort(originalPort);
+ return portError;
+ }
+
+ originalPort = getMatchingPort(errorPort, sourceExecutionUnit.getInnerSources(), originalExecutionUnit.getInnerSources());
+ if (originalPort != null) {
+ portError.setPort(originalPort);
+ return portError;
}
}
}
diff --git a/src/main/java/com/rapidminer/studio/concurrency/internal/RecursiveWrapper.java b/src/main/java/com/rapidminer/studio/concurrency/internal/RecursiveWrapper.java
index daff0c921..3ab649f8d 100644
--- a/src/main/java/com/rapidminer/studio/concurrency/internal/RecursiveWrapper.java
+++ b/src/main/java/com/rapidminer/studio/concurrency/internal/RecursiveWrapper.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/concurrency/internal/StudioConcurrencyContext.java b/src/main/java/com/rapidminer/studio/concurrency/internal/StudioConcurrencyContext.java
index f2e2bb894..54eb03819 100644
--- a/src/main/java/com/rapidminer/studio/concurrency/internal/StudioConcurrencyContext.java
+++ b/src/main/java/com/rapidminer/studio/concurrency/internal/StudioConcurrencyContext.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -139,20 +139,18 @@ public List call(List> callables)
}
}
+ ForkJoinPool forkJoinPool = AccessController.doPrivileged(
+ (PrivilegedAction) this::getForkJoinPool);
// handle submissions from inside and outside the pool differently
Thread currentThread = Thread.currentThread();
if (currentThread instanceof ForkJoinWorkerThread
- && ((ForkJoinWorkerThread) currentThread).getPool() == getForkJoinPool()) {
+ && ((ForkJoinWorkerThread) currentThread).getPool() == forkJoinPool) {
return RecursiveWrapper.call(callables);
} else {
final List> futures = new ArrayList<>(callables.size());
- AccessController.doPrivileged((PrivilegedAction) () -> {
-
- for (Callable callable : callables) {
- futures.add(getForkJoinPool().submit(callable));
- }
- return null;
- });
+ for (Callable callable : callables) {
+ futures.add(forkJoinPool.submit(callable));
+ }
return collectResults(futures);
}
}
@@ -175,16 +173,25 @@ public List> submit(List> callables) throws IllegalArg
}
}
- // submit callables without further checks
- final List> futures = new ArrayList<>(callables.size());
- AccessController.doPrivileged((PrivilegedAction) () -> {
-
+ ForkJoinPool forkJoinPool = AccessController.doPrivileged(
+ (PrivilegedAction) this::getForkJoinPool);
+ // handle submissions from inside and outside the pool differently
+ Thread currentThread = Thread.currentThread();
+ if (currentThread instanceof ForkJoinWorkerThread
+ && ((ForkJoinWorkerThread) currentThread).getPool() == forkJoinPool) {
+ final List> futures = new ArrayList<>(callables.size());
+ for (Callable callable : callables) {
+ futures.add(ForkJoinTask.adapt(callable).fork());
+ }
+ return futures;
+ } else {
+ // submit callables without further checks
+ final List> futures = new ArrayList<>(callables.size());
for (Callable callable : callables) {
- futures.add(getForkJoinPool().submit(callable));
+ futures.add(forkJoinPool.submit(callable));
}
- return null;
- });
- return futures;
+ return futures;
+ }
}
@Override
@@ -242,7 +249,8 @@ public List collectResults(List> futures)
@Override
public int getParallelism() {
if (pool != null) {
- return getForkJoinPool().getParallelism();
+ return AccessController.doPrivileged((PrivilegedAction) this::getForkJoinPool)
+ .getParallelism();
} else {
return getDesiredParallelismLevel();
}
@@ -261,7 +269,8 @@ public T invoke(ForkJoinTask task) throws ExecutionException, ExecutionSt
}
@Override
- public List invokeAll(final List> tasks) throws ExecutionException, ExecutionStoppedException {
+ public List invokeAll(final List> tasks) throws ExecutionException,
+ ExecutionStoppedException {
throw new UnsupportedOperationException();
}
@@ -292,7 +301,8 @@ protected ForkJoinPool getForkJoinPool() {
}
int desiredParallelismLevel = getDesiredParallelismLevel();
pool = new ForkJoinPool(desiredParallelismLevel);
- LogService.getRoot().log(Level.CONFIG, "com.rapidminer.concurrency.concurrency_context.pool_creation",
+ LogService.getRoot().log(Level.CONFIG,
+ "com.rapidminer.concurrency.concurrency_context.pool_creation",
desiredParallelismLevel);
return pool;
} finally {
diff --git a/src/main/java/com/rapidminer/studio/concurrency/internal/util/BackgroundExecution.java b/src/main/java/com/rapidminer/studio/concurrency/internal/util/BackgroundExecution.java
index 14293a51b..00ea24c04 100644
--- a/src/main/java/com/rapidminer/studio/concurrency/internal/util/BackgroundExecution.java
+++ b/src/main/java/com/rapidminer/studio/concurrency/internal/util/BackgroundExecution.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/concurrency/internal/util/BackgroundExecutionServiceListener.java b/src/main/java/com/rapidminer/studio/concurrency/internal/util/BackgroundExecutionServiceListener.java
index ad6002d71..cc89fbe4f 100644
--- a/src/main/java/com/rapidminer/studio/concurrency/internal/util/BackgroundExecutionServiceListener.java
+++ b/src/main/java/com/rapidminer/studio/concurrency/internal/util/BackgroundExecutionServiceListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/concurrency/internal/util/ExampleSetAppender.java b/src/main/java/com/rapidminer/studio/concurrency/internal/util/ExampleSetAppender.java
index 3b3a5308a..1a6087577 100644
--- a/src/main/java/com/rapidminer/studio/concurrency/internal/util/ExampleSetAppender.java
+++ b/src/main/java/com/rapidminer/studio/concurrency/internal/util/ExampleSetAppender.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/concurrency/internal/util/ProcessBackgroundExecution.java b/src/main/java/com/rapidminer/studio/concurrency/internal/util/ProcessBackgroundExecution.java
index 56d75c0e1..40cb69ea6 100644
--- a/src/main/java/com/rapidminer/studio/concurrency/internal/util/ProcessBackgroundExecution.java
+++ b/src/main/java/com/rapidminer/studio/concurrency/internal/util/ProcessBackgroundExecution.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/concurrency/internal/util/ProcessBackgroundExecutionState.java b/src/main/java/com/rapidminer/studio/concurrency/internal/util/ProcessBackgroundExecutionState.java
index 8d1d4484f..f46c437da 100644
--- a/src/main/java/com/rapidminer/studio/concurrency/internal/util/ProcessBackgroundExecutionState.java
+++ b/src/main/java/com/rapidminer/studio/concurrency/internal/util/ProcessBackgroundExecutionState.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/concurrency/internal/util/ProcessExecutionStackEntry.java b/src/main/java/com/rapidminer/studio/concurrency/internal/util/ProcessExecutionStackEntry.java
index b59bec75e..992a3f665 100644
--- a/src/main/java/com/rapidminer/studio/concurrency/internal/util/ProcessExecutionStackEntry.java
+++ b/src/main/java/com/rapidminer/studio/concurrency/internal/util/ProcessExecutionStackEntry.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/internal/NoStartupDialogRegistreredException.java b/src/main/java/com/rapidminer/studio/internal/NoStartupDialogRegistreredException.java
index 305a1a6ad..c801e7a77 100644
--- a/src/main/java/com/rapidminer/studio/internal/NoStartupDialogRegistreredException.java
+++ b/src/main/java/com/rapidminer/studio/internal/NoStartupDialogRegistreredException.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/internal/ParameterServiceProvider.java b/src/main/java/com/rapidminer/studio/internal/ParameterServiceProvider.java
index d9bcee427..253b16cf3 100644
--- a/src/main/java/com/rapidminer/studio/internal/ParameterServiceProvider.java
+++ b/src/main/java/com/rapidminer/studio/internal/ParameterServiceProvider.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/internal/ParameterServiceRegistry.java b/src/main/java/com/rapidminer/studio/internal/ParameterServiceRegistry.java
index c646d9749..b309f4735 100644
--- a/src/main/java/com/rapidminer/studio/internal/ParameterServiceRegistry.java
+++ b/src/main/java/com/rapidminer/studio/internal/ParameterServiceRegistry.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/internal/ProcessFlowFilterRegistry.java b/src/main/java/com/rapidminer/studio/internal/ProcessFlowFilterRegistry.java
index 444227ce1..601001d89 100644
--- a/src/main/java/com/rapidminer/studio/internal/ProcessFlowFilterRegistry.java
+++ b/src/main/java/com/rapidminer/studio/internal/ProcessFlowFilterRegistry.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/internal/ProcessStoppedRuntimeException.java b/src/main/java/com/rapidminer/studio/internal/ProcessStoppedRuntimeException.java
index f69c81c22..a3f8e1f82 100644
--- a/src/main/java/com/rapidminer/studio/internal/ProcessStoppedRuntimeException.java
+++ b/src/main/java/com/rapidminer/studio/internal/ProcessStoppedRuntimeException.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/internal/Resources.java b/src/main/java/com/rapidminer/studio/internal/Resources.java
index a3a0b21ab..defaa7861 100644
--- a/src/main/java/com/rapidminer/studio/internal/Resources.java
+++ b/src/main/java/com/rapidminer/studio/internal/Resources.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/internal/RuleProvider.java b/src/main/java/com/rapidminer/studio/internal/RuleProvider.java
index aa28fe03e..10b1a282e 100644
--- a/src/main/java/com/rapidminer/studio/internal/RuleProvider.java
+++ b/src/main/java/com/rapidminer/studio/internal/RuleProvider.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/internal/RuleProviderRegistry.java b/src/main/java/com/rapidminer/studio/internal/RuleProviderRegistry.java
index 0ffba2c25..018380664 100644
--- a/src/main/java/com/rapidminer/studio/internal/RuleProviderRegistry.java
+++ b/src/main/java/com/rapidminer/studio/internal/RuleProviderRegistry.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/internal/StartupDialogProvider.java b/src/main/java/com/rapidminer/studio/internal/StartupDialogProvider.java
index f4db3b9f5..8c35bf222 100644
--- a/src/main/java/com/rapidminer/studio/internal/StartupDialogProvider.java
+++ b/src/main/java/com/rapidminer/studio/internal/StartupDialogProvider.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/internal/StartupDialogRegistry.java b/src/main/java/com/rapidminer/studio/internal/StartupDialogRegistry.java
index aa1f9e2e4..de0e34e99 100644
--- a/src/main/java/com/rapidminer/studio/internal/StartupDialogRegistry.java
+++ b/src/main/java/com/rapidminer/studio/internal/StartupDialogRegistry.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/io/data/DataSetReader.java b/src/main/java/com/rapidminer/studio/io/data/DataSetReader.java
index 777c62d44..e923785e6 100644
--- a/src/main/java/com/rapidminer/studio/io/data/DataSetReader.java
+++ b/src/main/java/com/rapidminer/studio/io/data/DataSetReader.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/io/data/DefaultColumnMetaData.java b/src/main/java/com/rapidminer/studio/io/data/DefaultColumnMetaData.java
index f022f61c0..2d281abb6 100644
--- a/src/main/java/com/rapidminer/studio/io/data/DefaultColumnMetaData.java
+++ b/src/main/java/com/rapidminer/studio/io/data/DefaultColumnMetaData.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/io/data/DefaultDataSetMetaData.java b/src/main/java/com/rapidminer/studio/io/data/DefaultDataSetMetaData.java
index e373697af..b346ad2f6 100644
--- a/src/main/java/com/rapidminer/studio/io/data/DefaultDataSetMetaData.java
+++ b/src/main/java/com/rapidminer/studio/io/data/DefaultDataSetMetaData.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/io/data/HeaderRowBehindStartRowException.java b/src/main/java/com/rapidminer/studio/io/data/HeaderRowBehindStartRowException.java
index f96cf2e80..3f8c9eece 100644
--- a/src/main/java/com/rapidminer/studio/io/data/HeaderRowBehindStartRowException.java
+++ b/src/main/java/com/rapidminer/studio/io/data/HeaderRowBehindStartRowException.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/io/data/HeaderRowNotFoundException.java b/src/main/java/com/rapidminer/studio/io/data/HeaderRowNotFoundException.java
index 3819960ef..97844f07c 100644
--- a/src/main/java/com/rapidminer/studio/io/data/HeaderRowNotFoundException.java
+++ b/src/main/java/com/rapidminer/studio/io/data/HeaderRowNotFoundException.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/io/data/StartRowNotFoundException.java b/src/main/java/com/rapidminer/studio/io/data/StartRowNotFoundException.java
index 3dbba6927..e6aad5def 100644
--- a/src/main/java/com/rapidminer/studio/io/data/StartRowNotFoundException.java
+++ b/src/main/java/com/rapidminer/studio/io/data/StartRowNotFoundException.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/io/data/internal/ResultSetAdapter.java b/src/main/java/com/rapidminer/studio/io/data/internal/ResultSetAdapter.java
index 7cd34c81c..608b9ac93 100644
--- a/src/main/java/com/rapidminer/studio/io/data/internal/ResultSetAdapter.java
+++ b/src/main/java/com/rapidminer/studio/io/data/internal/ResultSetAdapter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/io/data/internal/ResultSetAdapterUtils.java b/src/main/java/com/rapidminer/studio/io/data/internal/ResultSetAdapterUtils.java
index c93852ea6..c5410b49e 100644
--- a/src/main/java/com/rapidminer/studio/io/data/internal/ResultSetAdapterUtils.java
+++ b/src/main/java/com/rapidminer/studio/io/data/internal/ResultSetAdapterUtils.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/io/data/internal/file/LocalFileDataSource.java b/src/main/java/com/rapidminer/studio/io/data/internal/file/LocalFileDataSource.java
index 3237b5c9d..ac4a4fb5a 100644
--- a/src/main/java/com/rapidminer/studio/io/data/internal/file/LocalFileDataSource.java
+++ b/src/main/java/com/rapidminer/studio/io/data/internal/file/LocalFileDataSource.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/io/data/internal/file/LocalFileDataSourceFactory.java b/src/main/java/com/rapidminer/studio/io/data/internal/file/LocalFileDataSourceFactory.java
index 205e4fc22..cb4e5f413 100644
--- a/src/main/java/com/rapidminer/studio/io/data/internal/file/LocalFileDataSourceFactory.java
+++ b/src/main/java/com/rapidminer/studio/io/data/internal/file/LocalFileDataSourceFactory.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/io/data/internal/file/LocalFileLocationChooserView.java b/src/main/java/com/rapidminer/studio/io/data/internal/file/LocalFileLocationChooserView.java
index de858e743..97c332a06 100644
--- a/src/main/java/com/rapidminer/studio/io/data/internal/file/LocalFileLocationChooserView.java
+++ b/src/main/java/com/rapidminer/studio/io/data/internal/file/LocalFileLocationChooserView.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/io/data/internal/file/LocalFileLocationWizardStep.java b/src/main/java/com/rapidminer/studio/io/data/internal/file/LocalFileLocationWizardStep.java
index 3138a4d26..15717dd6b 100644
--- a/src/main/java/com/rapidminer/studio/io/data/internal/file/LocalFileLocationWizardStep.java
+++ b/src/main/java/com/rapidminer/studio/io/data/internal/file/LocalFileLocationWizardStep.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/io/data/internal/file/binary/BinaryDataSource.java b/src/main/java/com/rapidminer/studio/io/data/internal/file/binary/BinaryDataSource.java
index d57590e3f..fade35ed9 100644
--- a/src/main/java/com/rapidminer/studio/io/data/internal/file/binary/BinaryDataSource.java
+++ b/src/main/java/com/rapidminer/studio/io/data/internal/file/binary/BinaryDataSource.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/io/data/internal/file/binary/BinaryDataSourceFactory.java b/src/main/java/com/rapidminer/studio/io/data/internal/file/binary/BinaryDataSourceFactory.java
index 1a1999276..f75d2326a 100644
--- a/src/main/java/com/rapidminer/studio/io/data/internal/file/binary/BinaryDataSourceFactory.java
+++ b/src/main/java/com/rapidminer/studio/io/data/internal/file/binary/BinaryDataSourceFactory.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/io/data/internal/file/binary/BinaryImportDestinationChooser.java b/src/main/java/com/rapidminer/studio/io/data/internal/file/binary/BinaryImportDestinationChooser.java
index 083f29448..995f80862 100644
--- a/src/main/java/com/rapidminer/studio/io/data/internal/file/binary/BinaryImportDestinationChooser.java
+++ b/src/main/java/com/rapidminer/studio/io/data/internal/file/binary/BinaryImportDestinationChooser.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/io/data/internal/file/binary/DumpToRepositoryStep.java b/src/main/java/com/rapidminer/studio/io/data/internal/file/binary/DumpToRepositoryStep.java
index c7fda3fb5..f444e1829 100644
--- a/src/main/java/com/rapidminer/studio/io/data/internal/file/binary/DumpToRepositoryStep.java
+++ b/src/main/java/com/rapidminer/studio/io/data/internal/file/binary/DumpToRepositoryStep.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -21,7 +21,6 @@
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
-
import javax.swing.JPanel;
import com.rapidminer.core.io.gui.ImportWizard;
@@ -33,6 +32,7 @@
import com.rapidminer.repository.Folder;
import com.rapidminer.repository.RepositoryException;
import com.rapidminer.repository.RepositoryLocation;
+import com.rapidminer.repository.internal.remote.RemoteFolder;
import com.rapidminer.studio.io.gui.internal.steps.AbstractToRepositoryStep;
@@ -75,6 +75,11 @@ protected ProgressThread getImportThread(final RepositoryLocation entryLocation,
@Override
public void run() {
try {
+ String originalFilename = source.getLocation().getFileName().toString();
+ if (parent instanceof RemoteFolder &&
+ ((RemoteFolder) parent).getRepository().isFileExtensionBlacklisted(originalFilename)) {
+ throw new RepositoryException("File extension blacklisted for " + originalFilename);
+ }
parent.createBlobEntry(entryLocation.getName());
Entry newEntry = entryLocation.locateEntry();
if (newEntry == null) {
@@ -82,7 +87,7 @@ public void run() {
}
BlobEntry blob = (BlobEntry) newEntry;
try (FileInputStream fileInputStream = new FileInputStream(source.getLocation().toFile());
- OutputStream outputStream = blob.openOutputStream(getChooser().getMediaType())) {
+ OutputStream outputStream = blob.openOutputStream(getChooser().getMediaType())) {
byte[] buffer = new byte[1024 * 20];
int length;
while ((length = fileInputStream.read(buffer)) != -1) {
diff --git a/src/main/java/com/rapidminer/studio/io/data/internal/file/csv/CSVDataSource.java b/src/main/java/com/rapidminer/studio/io/data/internal/file/csv/CSVDataSource.java
index 2aabbecda..3131241e5 100644
--- a/src/main/java/com/rapidminer/studio/io/data/internal/file/csv/CSVDataSource.java
+++ b/src/main/java/com/rapidminer/studio/io/data/internal/file/csv/CSVDataSource.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/io/data/internal/file/csv/CSVDataSourceFactory.java b/src/main/java/com/rapidminer/studio/io/data/internal/file/csv/CSVDataSourceFactory.java
index c142ebc2f..8dd48a162 100644
--- a/src/main/java/com/rapidminer/studio/io/data/internal/file/csv/CSVDataSourceFactory.java
+++ b/src/main/java/com/rapidminer/studio/io/data/internal/file/csv/CSVDataSourceFactory.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/io/data/internal/file/csv/CSVFormatSpecificationPanel.java b/src/main/java/com/rapidminer/studio/io/data/internal/file/csv/CSVFormatSpecificationPanel.java
index f1f8490df..beb5444e9 100644
--- a/src/main/java/com/rapidminer/studio/io/data/internal/file/csv/CSVFormatSpecificationPanel.java
+++ b/src/main/java/com/rapidminer/studio/io/data/internal/file/csv/CSVFormatSpecificationPanel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/io/data/internal/file/csv/CSVFormatSpecificationWizardStep.java b/src/main/java/com/rapidminer/studio/io/data/internal/file/csv/CSVFormatSpecificationWizardStep.java
index 0b8f91ae0..5edeb0896 100644
--- a/src/main/java/com/rapidminer/studio/io/data/internal/file/csv/CSVFormatSpecificationWizardStep.java
+++ b/src/main/java/com/rapidminer/studio/io/data/internal/file/csv/CSVFormatSpecificationWizardStep.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/io/data/internal/file/csv/CSVResultSetAdapter.java b/src/main/java/com/rapidminer/studio/io/data/internal/file/csv/CSVResultSetAdapter.java
index d408fe694..1c0610ae1 100644
--- a/src/main/java/com/rapidminer/studio/io/data/internal/file/csv/CSVResultSetAdapter.java
+++ b/src/main/java/com/rapidminer/studio/io/data/internal/file/csv/CSVResultSetAdapter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/io/data/internal/file/excel/CellRangeSelection.java b/src/main/java/com/rapidminer/studio/io/data/internal/file/excel/CellRangeSelection.java
index c7be07de8..e8e3d05f4 100644
--- a/src/main/java/com/rapidminer/studio/io/data/internal/file/excel/CellRangeSelection.java
+++ b/src/main/java/com/rapidminer/studio/io/data/internal/file/excel/CellRangeSelection.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/io/data/internal/file/excel/ExcelDataSource.java b/src/main/java/com/rapidminer/studio/io/data/internal/file/excel/ExcelDataSource.java
index 4ead04c61..2ee249ab2 100644
--- a/src/main/java/com/rapidminer/studio/io/data/internal/file/excel/ExcelDataSource.java
+++ b/src/main/java/com/rapidminer/studio/io/data/internal/file/excel/ExcelDataSource.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -234,6 +234,8 @@ void createMetaData() throws DataSetException {
configuration.setWorkbookFile(getLocation().toFile());
configuration.setSheet(getResultSetConfiguration().getSheet());
+ configuration.setSheetByName(getResultSetConfiguration().getSheetByName());
+ configuration.setSheetSelectionMode(getResultSetConfiguration().getSheetSelectionMode());
configuration.setColumnOffset(getResultSetConfiguration().getColumnOffset());
configuration.setColumnLast(getResultSetConfiguration().getColumnLast());
configuration.setEncoding(getResultSetConfiguration().getEncoding());
diff --git a/src/main/java/com/rapidminer/studio/io/data/internal/file/excel/ExcelDataSourceConfiguration.java b/src/main/java/com/rapidminer/studio/io/data/internal/file/excel/ExcelDataSourceConfiguration.java
index e26deebc0..d8153c33c 100644
--- a/src/main/java/com/rapidminer/studio/io/data/internal/file/excel/ExcelDataSourceConfiguration.java
+++ b/src/main/java/com/rapidminer/studio/io/data/internal/file/excel/ExcelDataSourceConfiguration.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/io/data/internal/file/excel/ExcelDataSourceFactory.java b/src/main/java/com/rapidminer/studio/io/data/internal/file/excel/ExcelDataSourceFactory.java
index 983247232..1b0ebebd0 100644
--- a/src/main/java/com/rapidminer/studio/io/data/internal/file/excel/ExcelDataSourceFactory.java
+++ b/src/main/java/com/rapidminer/studio/io/data/internal/file/excel/ExcelDataSourceFactory.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/io/data/internal/file/excel/ExcelResultSetAdapter.java b/src/main/java/com/rapidminer/studio/io/data/internal/file/excel/ExcelResultSetAdapter.java
index 6323ad89e..714b11486 100644
--- a/src/main/java/com/rapidminer/studio/io/data/internal/file/excel/ExcelResultSetAdapter.java
+++ b/src/main/java/com/rapidminer/studio/io/data/internal/file/excel/ExcelResultSetAdapter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/io/data/internal/file/excel/ExcelSheetSelectionModelListener.java b/src/main/java/com/rapidminer/studio/io/data/internal/file/excel/ExcelSheetSelectionModelListener.java
index bf134b5de..94280dba7 100644
--- a/src/main/java/com/rapidminer/studio/io/data/internal/file/excel/ExcelSheetSelectionModelListener.java
+++ b/src/main/java/com/rapidminer/studio/io/data/internal/file/excel/ExcelSheetSelectionModelListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/io/data/internal/file/excel/ExcelSheetSelectionPanel.java b/src/main/java/com/rapidminer/studio/io/data/internal/file/excel/ExcelSheetSelectionPanel.java
index e56793b17..779f72f12 100644
--- a/src/main/java/com/rapidminer/studio/io/data/internal/file/excel/ExcelSheetSelectionPanel.java
+++ b/src/main/java/com/rapidminer/studio/io/data/internal/file/excel/ExcelSheetSelectionPanel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/io/data/internal/file/excel/ExcelSheetSelectionPanelModel.java b/src/main/java/com/rapidminer/studio/io/data/internal/file/excel/ExcelSheetSelectionPanelModel.java
index ae8e73d29..f5d0abe9f 100644
--- a/src/main/java/com/rapidminer/studio/io/data/internal/file/excel/ExcelSheetSelectionPanelModel.java
+++ b/src/main/java/com/rapidminer/studio/io/data/internal/file/excel/ExcelSheetSelectionPanelModel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/io/data/internal/file/excel/ExcelSheetSelectionWizardStep.java b/src/main/java/com/rapidminer/studio/io/data/internal/file/excel/ExcelSheetSelectionWizardStep.java
index accbe1218..e19348cc7 100644
--- a/src/main/java/com/rapidminer/studio/io/data/internal/file/excel/ExcelSheetSelectionWizardStep.java
+++ b/src/main/java/com/rapidminer/studio/io/data/internal/file/excel/ExcelSheetSelectionWizardStep.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -143,6 +143,7 @@ public void viewWillBecomeInvisible(WizardDirection direction) throws InvalidCon
// update the selected sheet
configuration.setSheet(workbookSelectionPanel.getSheetIndex());
+ configuration.setSheetSelectionMode(ExcelResultSetConfiguration.SheetSelectionMode.BY_INDEX);
// update the cell range selection
configuration.setColumnOffset(selection.getColumnIndexStart());
diff --git a/src/main/java/com/rapidminer/studio/io/gui/internal/DataImportWizard.java b/src/main/java/com/rapidminer/studio/io/gui/internal/DataImportWizard.java
index 07026ac4c..363b92d03 100644
--- a/src/main/java/com/rapidminer/studio/io/gui/internal/DataImportWizard.java
+++ b/src/main/java/com/rapidminer/studio/io/gui/internal/DataImportWizard.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/io/gui/internal/DataImportWizardBuilder.java b/src/main/java/com/rapidminer/studio/io/gui/internal/DataImportWizardBuilder.java
index df856014a..f8216c5fe 100644
--- a/src/main/java/com/rapidminer/studio/io/gui/internal/DataImportWizardBuilder.java
+++ b/src/main/java/com/rapidminer/studio/io/gui/internal/DataImportWizardBuilder.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/io/gui/internal/DataImportWizardUtils.java b/src/main/java/com/rapidminer/studio/io/gui/internal/DataImportWizardUtils.java
index 3f97c8f25..84d71c2e8 100644
--- a/src/main/java/com/rapidminer/studio/io/gui/internal/DataImportWizardUtils.java
+++ b/src/main/java/com/rapidminer/studio/io/gui/internal/DataImportWizardUtils.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/io/gui/internal/DataWizardEventType.java b/src/main/java/com/rapidminer/studio/io/gui/internal/DataWizardEventType.java
index eb8b2b75e..5ac6b657b 100644
--- a/src/main/java/com/rapidminer/studio/io/gui/internal/DataWizardEventType.java
+++ b/src/main/java/com/rapidminer/studio/io/gui/internal/DataWizardEventType.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/io/gui/internal/steps/AbstractToRepositoryStep.java b/src/main/java/com/rapidminer/studio/io/gui/internal/steps/AbstractToRepositoryStep.java
index 70606472f..e58e286e0 100644
--- a/src/main/java/com/rapidminer/studio/io/gui/internal/steps/AbstractToRepositoryStep.java
+++ b/src/main/java/com/rapidminer/studio/io/gui/internal/steps/AbstractToRepositoryStep.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/io/gui/internal/steps/AbstractWizardStep.java b/src/main/java/com/rapidminer/studio/io/gui/internal/steps/AbstractWizardStep.java
index 9aa730f8d..da800cd13 100644
--- a/src/main/java/com/rapidminer/studio/io/gui/internal/steps/AbstractWizardStep.java
+++ b/src/main/java/com/rapidminer/studio/io/gui/internal/steps/AbstractWizardStep.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/io/gui/internal/steps/LocationSelectionStep.java b/src/main/java/com/rapidminer/studio/io/gui/internal/steps/LocationSelectionStep.java
index 62a63daa0..123cbb51f 100644
--- a/src/main/java/com/rapidminer/studio/io/gui/internal/steps/LocationSelectionStep.java
+++ b/src/main/java/com/rapidminer/studio/io/gui/internal/steps/LocationSelectionStep.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/io/gui/internal/steps/StoreToRepositoryStep.java b/src/main/java/com/rapidminer/studio/io/gui/internal/steps/StoreToRepositoryStep.java
index 32da6368e..b15073103 100644
--- a/src/main/java/com/rapidminer/studio/io/gui/internal/steps/StoreToRepositoryStep.java
+++ b/src/main/java/com/rapidminer/studio/io/gui/internal/steps/StoreToRepositoryStep.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/io/gui/internal/steps/TypeSelectionStep.java b/src/main/java/com/rapidminer/studio/io/gui/internal/steps/TypeSelectionStep.java
index 19d9e4dc1..cb920eb74 100644
--- a/src/main/java/com/rapidminer/studio/io/gui/internal/steps/TypeSelectionStep.java
+++ b/src/main/java/com/rapidminer/studio/io/gui/internal/steps/TypeSelectionStep.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/io/gui/internal/steps/TypeSelectionView.java b/src/main/java/com/rapidminer/studio/io/gui/internal/steps/TypeSelectionView.java
index 5187ffdff..46fa9a628 100644
--- a/src/main/java/com/rapidminer/studio/io/gui/internal/steps/TypeSelectionView.java
+++ b/src/main/java/com/rapidminer/studio/io/gui/internal/steps/TypeSelectionView.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/io/gui/internal/steps/configuration/AbstractErrorWarningTableModel.java b/src/main/java/com/rapidminer/studio/io/gui/internal/steps/configuration/AbstractErrorWarningTableModel.java
index 3a32392d9..54f7570a6 100644
--- a/src/main/java/com/rapidminer/studio/io/gui/internal/steps/configuration/AbstractErrorWarningTableModel.java
+++ b/src/main/java/com/rapidminer/studio/io/gui/internal/steps/configuration/AbstractErrorWarningTableModel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/io/gui/internal/steps/configuration/CollapsibleErrorTable.java b/src/main/java/com/rapidminer/studio/io/gui/internal/steps/configuration/CollapsibleErrorTable.java
index 694fa8e22..9eeae12f4 100644
--- a/src/main/java/com/rapidminer/studio/io/gui/internal/steps/configuration/CollapsibleErrorTable.java
+++ b/src/main/java/com/rapidminer/studio/io/gui/internal/steps/configuration/CollapsibleErrorTable.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/io/gui/internal/steps/configuration/ColumnError.java b/src/main/java/com/rapidminer/studio/io/gui/internal/steps/configuration/ColumnError.java
index 2fd43b4a3..42b245d08 100644
--- a/src/main/java/com/rapidminer/studio/io/gui/internal/steps/configuration/ColumnError.java
+++ b/src/main/java/com/rapidminer/studio/io/gui/internal/steps/configuration/ColumnError.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/io/gui/internal/steps/configuration/ConfigureDataStep.java b/src/main/java/com/rapidminer/studio/io/gui/internal/steps/configuration/ConfigureDataStep.java
index 411067cb7..1a16ced67 100644
--- a/src/main/java/com/rapidminer/studio/io/gui/internal/steps/configuration/ConfigureDataStep.java
+++ b/src/main/java/com/rapidminer/studio/io/gui/internal/steps/configuration/ConfigureDataStep.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/io/gui/internal/steps/configuration/ConfigureDataTableHeader.java b/src/main/java/com/rapidminer/studio/io/gui/internal/steps/configuration/ConfigureDataTableHeader.java
index b849feb5d..9af4c9ea1 100644
--- a/src/main/java/com/rapidminer/studio/io/gui/internal/steps/configuration/ConfigureDataTableHeader.java
+++ b/src/main/java/com/rapidminer/studio/io/gui/internal/steps/configuration/ConfigureDataTableHeader.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/io/gui/internal/steps/configuration/ConfigureDataTableModel.java b/src/main/java/com/rapidminer/studio/io/gui/internal/steps/configuration/ConfigureDataTableModel.java
index 7d5faedf5..6f70075a2 100644
--- a/src/main/java/com/rapidminer/studio/io/gui/internal/steps/configuration/ConfigureDataTableModel.java
+++ b/src/main/java/com/rapidminer/studio/io/gui/internal/steps/configuration/ConfigureDataTableModel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/io/gui/internal/steps/configuration/ConfigureDataValidator.java b/src/main/java/com/rapidminer/studio/io/gui/internal/steps/configuration/ConfigureDataValidator.java
index 0bee66c79..e11f10991 100644
--- a/src/main/java/com/rapidminer/studio/io/gui/internal/steps/configuration/ConfigureDataValidator.java
+++ b/src/main/java/com/rapidminer/studio/io/gui/internal/steps/configuration/ConfigureDataValidator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/io/gui/internal/steps/configuration/ConfigureDataView.java b/src/main/java/com/rapidminer/studio/io/gui/internal/steps/configuration/ConfigureDataView.java
index ef7624c6d..293cd83d6 100644
--- a/src/main/java/com/rapidminer/studio/io/gui/internal/steps/configuration/ConfigureDataView.java
+++ b/src/main/java/com/rapidminer/studio/io/gui/internal/steps/configuration/ConfigureDataView.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/io/gui/internal/steps/configuration/ErrorWarningTableModel.java b/src/main/java/com/rapidminer/studio/io/gui/internal/steps/configuration/ErrorWarningTableModel.java
index bf1ece3e3..7d5230add 100644
--- a/src/main/java/com/rapidminer/studio/io/gui/internal/steps/configuration/ErrorWarningTableModel.java
+++ b/src/main/java/com/rapidminer/studio/io/gui/internal/steps/configuration/ErrorWarningTableModel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/studio/io/gui/internal/steps/configuration/ParsingError.java b/src/main/java/com/rapidminer/studio/io/gui/internal/steps/configuration/ParsingError.java
index 5af0bb287..d81830bcb 100644
--- a/src/main/java/com/rapidminer/studio/io/gui/internal/steps/configuration/ParsingError.java
+++ b/src/main/java/com/rapidminer/studio/io/gui/internal/steps/configuration/ParsingError.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/template/Template.java b/src/main/java/com/rapidminer/template/Template.java
index e37e49973..bb52835f5 100644
--- a/src/main/java/com/rapidminer/template/Template.java
+++ b/src/main/java/com/rapidminer/template/Template.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/template/TemplateManager.java b/src/main/java/com/rapidminer/template/TemplateManager.java
index 0c62caf95..6e623aa91 100644
--- a/src/main/java/com/rapidminer/template/TemplateManager.java
+++ b/src/main/java/com/rapidminer/template/TemplateManager.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/test/asserter/AsserterFactory.java b/src/main/java/com/rapidminer/test/asserter/AsserterFactory.java
index 8783b1b06..419c8fc6a 100644
--- a/src/main/java/com/rapidminer/test/asserter/AsserterFactory.java
+++ b/src/main/java/com/rapidminer/test/asserter/AsserterFactory.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/test/asserter/AsserterFactoryRapidMiner.java b/src/main/java/com/rapidminer/test/asserter/AsserterFactoryRapidMiner.java
index 6e87b66fe..8a8bf2c3c 100644
--- a/src/main/java/com/rapidminer/test/asserter/AsserterFactoryRapidMiner.java
+++ b/src/main/java/com/rapidminer/test/asserter/AsserterFactoryRapidMiner.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/test_utils/Asserter.java b/src/main/java/com/rapidminer/test_utils/Asserter.java
index 5b40d90f7..76a1c5f35 100644
--- a/src/main/java/com/rapidminer/test_utils/Asserter.java
+++ b/src/main/java/com/rapidminer/test_utils/Asserter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/test_utils/AsserterRegistry.java b/src/main/java/com/rapidminer/test_utils/AsserterRegistry.java
index 9e2ad81c8..7d86becb5 100644
--- a/src/main/java/com/rapidminer/test_utils/AsserterRegistry.java
+++ b/src/main/java/com/rapidminer/test_utils/AsserterRegistry.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/test_utils/RapidAssert.java b/src/main/java/com/rapidminer/test_utils/RapidAssert.java
index c7e38ddd3..66e45288c 100644
--- a/src/main/java/com/rapidminer/test_utils/RapidAssert.java
+++ b/src/main/java/com/rapidminer/test_utils/RapidAssert.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/test_utils/Util.java b/src/main/java/com/rapidminer/test_utils/Util.java
index 6652f8bc4..bd426d908 100644
--- a/src/main/java/com/rapidminer/test_utils/Util.java
+++ b/src/main/java/com/rapidminer/test_utils/Util.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/AbstractChangeAwareSaveable.java b/src/main/java/com/rapidminer/tools/AbstractChangeAwareSaveable.java
index c4cc1c065..aaf78bb07 100644
--- a/src/main/java/com/rapidminer/tools/AbstractChangeAwareSaveable.java
+++ b/src/main/java/com/rapidminer/tools/AbstractChangeAwareSaveable.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/AbstractObservable.java b/src/main/java/com/rapidminer/tools/AbstractObservable.java
index 6fa29f744..21c573cb4 100644
--- a/src/main/java/com/rapidminer/tools/AbstractObservable.java
+++ b/src/main/java/com/rapidminer/tools/AbstractObservable.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/BugReport.java b/src/main/java/com/rapidminer/tools/BugReport.java
index 3d6d5df42..0e87a9086 100644
--- a/src/main/java/com/rapidminer/tools/BugReport.java
+++ b/src/main/java/com/rapidminer/tools/BugReport.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/CSVParseException.java b/src/main/java/com/rapidminer/tools/CSVParseException.java
index f6b7e5d78..4bdd39997 100644
--- a/src/main/java/com/rapidminer/tools/CSVParseException.java
+++ b/src/main/java/com/rapidminer/tools/CSVParseException.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/ChangeAwareSaveable.java b/src/main/java/com/rapidminer/tools/ChangeAwareSaveable.java
index 56c63a690..54d166348 100644
--- a/src/main/java/com/rapidminer/tools/ChangeAwareSaveable.java
+++ b/src/main/java/com/rapidminer/tools/ChangeAwareSaveable.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/ClassColorMap.java b/src/main/java/com/rapidminer/tools/ClassColorMap.java
index e8471e6df..1a4e41dc2 100644
--- a/src/main/java/com/rapidminer/tools/ClassColorMap.java
+++ b/src/main/java/com/rapidminer/tools/ClassColorMap.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/ClassNameMapper.java b/src/main/java/com/rapidminer/tools/ClassNameMapper.java
index 086bb3bb7..345d7bf0d 100644
--- a/src/main/java/com/rapidminer/tools/ClassNameMapper.java
+++ b/src/main/java/com/rapidminer/tools/ClassNameMapper.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/DateParser.java b/src/main/java/com/rapidminer/tools/DateParser.java
index 0cd3de2e9..495a4f95f 100644
--- a/src/main/java/com/rapidminer/tools/DateParser.java
+++ b/src/main/java/com/rapidminer/tools/DateParser.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/DefaultMailSessionFactory.java b/src/main/java/com/rapidminer/tools/DefaultMailSessionFactory.java
index e7251073f..2a796db6f 100644
--- a/src/main/java/com/rapidminer/tools/DefaultMailSessionFactory.java
+++ b/src/main/java/com/rapidminer/tools/DefaultMailSessionFactory.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/DelegatingObserver.java b/src/main/java/com/rapidminer/tools/DelegatingObserver.java
index 3d126d730..9e2878ea4 100644
--- a/src/main/java/com/rapidminer/tools/DelegatingObserver.java
+++ b/src/main/java/com/rapidminer/tools/DelegatingObserver.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/DominatingClassFinder.java b/src/main/java/com/rapidminer/tools/DominatingClassFinder.java
index 5ad9c9824..835eaefa4 100644
--- a/src/main/java/com/rapidminer/tools/DominatingClassFinder.java
+++ b/src/main/java/com/rapidminer/tools/DominatingClassFinder.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/DynamicIcon.java b/src/main/java/com/rapidminer/tools/DynamicIcon.java
index 1e7d459f4..52a6871e2 100644
--- a/src/main/java/com/rapidminer/tools/DynamicIcon.java
+++ b/src/main/java/com/rapidminer/tools/DynamicIcon.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/DynamicIconUrlStreamHandler.java b/src/main/java/com/rapidminer/tools/DynamicIconUrlStreamHandler.java
index 58b87ee67..ca93c7efe 100644
--- a/src/main/java/com/rapidminer/tools/DynamicIconUrlStreamHandler.java
+++ b/src/main/java/com/rapidminer/tools/DynamicIconUrlStreamHandler.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/ExtensibleResourceBundle.java b/src/main/java/com/rapidminer/tools/ExtensibleResourceBundle.java
index f0faee92f..e5df29297 100644
--- a/src/main/java/com/rapidminer/tools/ExtensibleResourceBundle.java
+++ b/src/main/java/com/rapidminer/tools/ExtensibleResourceBundle.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/FileSystemService.java b/src/main/java/com/rapidminer/tools/FileSystemService.java
index b2b781d01..65c7b44a6 100644
--- a/src/main/java/com/rapidminer/tools/FileSystemService.java
+++ b/src/main/java/com/rapidminer/tools/FileSystemService.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -37,9 +37,15 @@ public class FileSystemService {
/** folder in which extensions have their workspace */
private static final String RAPIDMINER_EXTENSIONS_FOLDER = "extensions";
/** folder in which extensions get their own folder to work with files */
- private static final String RAPIDMINER_EXTENSIONS_WORKSPACE_FOLDER = "workspace";
+ public static final String RAPIDMINER_EXTENSIONS_WORKSPACE_FOLDER = "workspace";
/** folder which can be used to share data between extensions */
private static final String RAPIDMINER_SHARED_DATA = "shared data";
+ /** folder which can be used for internal caching of the Global Search feature */
+ private static final String RAPIDMINER_INTERNAL_CACHE = "internal cache";
+ /** folder which can be used for internal caching of the Global Search feature */
+ private static final String RAPIDMINER_INTERNAL_CACHE_SEARCH = "search";
+
+ public static final String RAPIDMINER_INTERNAL_CACHE_SEARCH_FULL = "internal cache/search";
/** folder which can be used to load additional building blocks */
public static final String RAPIDMINER_BUILDINGBLOCKS = "buildingblocks";
@@ -76,52 +82,16 @@ public static File getUserRapidMinerDir() {
File extensionsWorkspaceFolder = new File(extensionsWorkspaceRootFolder, RAPIDMINER_EXTENSIONS_WORKSPACE_FOLDER);
File sharedDataDir = new File(userHomeDir, RAPIDMINER_SHARED_DATA);
File buildingBlocksFolder = new File(userHomeDir, RAPIDMINER_BUILDINGBLOCKS);
-
- if (!userHomeDir.exists()) {
- LogService.getRoot().log(Level.CONFIG, "com.rapidminer.tools.FileSystemService.creating_directory", userHomeDir);
- boolean result = userHomeDir.mkdir();
- if (!result) {
- LogService.getRoot().log(Level.WARNING,
- "com.rapidminer.tools.FileSystemService.creating_home_directory_error", userHomeDir);
- }
- }
- if (!extensionsWorkspaceRootFolder.exists()) {
- LogService.getRoot().log(Level.CONFIG, "com.rapidminer.tools.FileSystemService.creating_directory",
- extensionsWorkspaceRootFolder);
- boolean result = extensionsWorkspaceRootFolder.mkdir();
- if (!result) {
- LogService.getRoot().log(Level.WARNING,
- "com.rapidminer.tools.FileSystemService.creating_home_directory_error",
- extensionsWorkspaceRootFolder);
- }
- }
- if (!extensionsWorkspaceFolder.exists()) {
- LogService.getRoot().log(Level.CONFIG, "com.rapidminer.tools.FileSystemService.creating_directory",
- extensionsWorkspaceFolder);
- boolean result = extensionsWorkspaceFolder.mkdir();
- if (!result) {
- LogService.getRoot().log(Level.WARNING,
- "com.rapidminer.tools.FileSystemService.creating_home_directory_error", extensionsWorkspaceFolder);
- }
- }
- if (!sharedDataDir.exists()) {
- LogService.getRoot().log(Level.CONFIG, "com.rapidminer.tools.FileSystemService.creating_directory",
- sharedDataDir);
- boolean result = sharedDataDir.mkdir();
- if (!result) {
- LogService.getRoot().log(Level.WARNING,
- "com.rapidminer.tools.FileSystemService.creating_home_directory_error", sharedDataDir);
- }
- }
- if (!buildingBlocksFolder.exists()) {
- LogService.getRoot().log(Level.CONFIG, "com.rapidminer.tools.FileSystemService.creating_directory",
- buildingBlocksFolder);
- boolean result = buildingBlocksFolder.mkdir();
- if (!result) {
- LogService.getRoot().log(Level.WARNING,
- "com.rapidminer.tools.FileSystemService.creating_home_directory_error", buildingBlocksFolder);
- }
- }
+ File internalCacheFolder = new File(userHomeDir, RAPIDMINER_INTERNAL_CACHE);
+ File internalCacheSearchFolder = new File(internalCacheFolder, RAPIDMINER_INTERNAL_CACHE_SEARCH);
+
+ checkAndCreateFolder(userHomeDir);
+ checkAndCreateFolder(extensionsWorkspaceRootFolder);
+ checkAndCreateFolder(internalCacheFolder);
+ checkAndCreateFolder(internalCacheSearchFolder);
+ checkAndCreateFolder(extensionsWorkspaceFolder);
+ checkAndCreateFolder(sharedDataDir);
+ checkAndCreateFolder(buildingBlocksFolder);
return userHomeDir;
}
@@ -187,4 +157,22 @@ public static File getSourceResourceFile(String name) {
}
}
+
+ /**
+ * Tries to create the given folder location if it does not yet exist.
+ *
+ * @param newFolder
+ * the folder location in question.
+ */
+ private static void checkAndCreateFolder(File newFolder) {
+ if (!newFolder.exists()) {
+ LogService.getRoot().log(Level.CONFIG, "com.rapidminer.tools.FileSystemService.creating_directory", newFolder);
+ boolean result = newFolder.mkdir();
+ if (!result) {
+ LogService.getRoot().log(Level.WARNING,
+ "com.rapidminer.tools.FileSystemService.creating_home_directory_error", newFolder);
+ }
+ }
+ }
+
}
diff --git a/src/main/java/com/rapidminer/tools/FixedConsoleHandler.java b/src/main/java/com/rapidminer/tools/FixedConsoleHandler.java
index 1d4432276..da3ce0cb2 100644
--- a/src/main/java/com/rapidminer/tools/FixedConsoleHandler.java
+++ b/src/main/java/com/rapidminer/tools/FixedConsoleHandler.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/FontTools.java b/src/main/java/com/rapidminer/tools/FontTools.java
index 3747ddc45..3c725dbf8 100644
--- a/src/main/java/com/rapidminer/tools/FontTools.java
+++ b/src/main/java/com/rapidminer/tools/FontTools.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/GenericOperatorFactory.java b/src/main/java/com/rapidminer/tools/GenericOperatorFactory.java
index ecfa6aa70..18df4532f 100644
--- a/src/main/java/com/rapidminer/tools/GenericOperatorFactory.java
+++ b/src/main/java/com/rapidminer/tools/GenericOperatorFactory.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/GlobCompiler.java b/src/main/java/com/rapidminer/tools/GlobCompiler.java
index 141aa7bca..70a31fc36 100644
--- a/src/main/java/com/rapidminer/tools/GlobCompiler.java
+++ b/src/main/java/com/rapidminer/tools/GlobCompiler.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/GlobalAuthenticator.java b/src/main/java/com/rapidminer/tools/GlobalAuthenticator.java
index 2daab2698..34430ec32 100644
--- a/src/main/java/com/rapidminer/tools/GlobalAuthenticator.java
+++ b/src/main/java/com/rapidminer/tools/GlobalAuthenticator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/GroupTree.java b/src/main/java/com/rapidminer/tools/GroupTree.java
index ba6ce49a6..057ee41a9 100644
--- a/src/main/java/com/rapidminer/tools/GroupTree.java
+++ b/src/main/java/com/rapidminer/tools/GroupTree.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/GroupTreeNode.java b/src/main/java/com/rapidminer/tools/GroupTreeNode.java
index e24fcc3c4..f1263e51e 100644
--- a/src/main/java/com/rapidminer/tools/GroupTreeNode.java
+++ b/src/main/java/com/rapidminer/tools/GroupTreeNode.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/GroupTreeRoot.java b/src/main/java/com/rapidminer/tools/GroupTreeRoot.java
index 9e94084d2..ff5503f82 100644
--- a/src/main/java/com/rapidminer/tools/GroupTreeRoot.java
+++ b/src/main/java/com/rapidminer/tools/GroupTreeRoot.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/I18N.java b/src/main/java/com/rapidminer/tools/I18N.java
index 1e1a01b31..9f211d386 100644
--- a/src/main/java/com/rapidminer/tools/I18N.java
+++ b/src/main/java/com/rapidminer/tools/I18N.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -188,7 +188,7 @@ public static String getMessage(ResourceBundle bundle, String key, Object... arg
}
} catch (MissingResourceException e) {
- LogService.getRoot().log(Level.FINE, "com.rapidminer.tools.I18N.missing_key", key);
+ LogService.getRoot().log(Level.FINEST, "com.rapidminer.tools.I18N.missing_key", key);
return key;
}
}
diff --git a/src/main/java/com/rapidminer/tools/IterationArrayList.java b/src/main/java/com/rapidminer/tools/IterationArrayList.java
index e07b2b6d7..78295da0e 100644
--- a/src/main/java/com/rapidminer/tools/IterationArrayList.java
+++ b/src/main/java/com/rapidminer/tools/IterationArrayList.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/LaunchListener.java b/src/main/java/com/rapidminer/tools/LaunchListener.java
index a702fe5b5..188227107 100644
--- a/src/main/java/com/rapidminer/tools/LaunchListener.java
+++ b/src/main/java/com/rapidminer/tools/LaunchListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/LineParser.java b/src/main/java/com/rapidminer/tools/LineParser.java
index 6fb162ff9..47b096ebc 100644
--- a/src/main/java/com/rapidminer/tools/LineParser.java
+++ b/src/main/java/com/rapidminer/tools/LineParser.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/LogService.java b/src/main/java/com/rapidminer/tools/LogService.java
index a14cda0e0..f432406e3 100644
--- a/src/main/java/com/rapidminer/tools/LogService.java
+++ b/src/main/java/com/rapidminer/tools/LogService.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/LoggingHandler.java b/src/main/java/com/rapidminer/tools/LoggingHandler.java
index 1dd93eb12..1766288e2 100644
--- a/src/main/java/com/rapidminer/tools/LoggingHandler.java
+++ b/src/main/java/com/rapidminer/tools/LoggingHandler.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/MailSender.java b/src/main/java/com/rapidminer/tools/MailSender.java
index 706bbc703..efab8c0f1 100644
--- a/src/main/java/com/rapidminer/tools/MailSender.java
+++ b/src/main/java/com/rapidminer/tools/MailSender.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/MailSenderSMTP.java b/src/main/java/com/rapidminer/tools/MailSenderSMTP.java
index 8defee7e3..07026f4df 100644
--- a/src/main/java/com/rapidminer/tools/MailSenderSMTP.java
+++ b/src/main/java/com/rapidminer/tools/MailSenderSMTP.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/MailSenderSendmail.java b/src/main/java/com/rapidminer/tools/MailSenderSendmail.java
index b4f66322f..068720ef3 100644
--- a/src/main/java/com/rapidminer/tools/MailSenderSendmail.java
+++ b/src/main/java/com/rapidminer/tools/MailSenderSendmail.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/MailSessionFactory.java b/src/main/java/com/rapidminer/tools/MailSessionFactory.java
index b4674f444..4500209eb 100644
--- a/src/main/java/com/rapidminer/tools/MailSessionFactory.java
+++ b/src/main/java/com/rapidminer/tools/MailSessionFactory.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/MailUtilities.java b/src/main/java/com/rapidminer/tools/MailUtilities.java
index f8fa11b61..0ed9560d1 100644
--- a/src/main/java/com/rapidminer/tools/MailUtilities.java
+++ b/src/main/java/com/rapidminer/tools/MailUtilities.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/NetTools.java b/src/main/java/com/rapidminer/tools/NetTools.java
index f9594f0f3..366219f2a 100644
--- a/src/main/java/com/rapidminer/tools/NetTools.java
+++ b/src/main/java/com/rapidminer/tools/NetTools.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/NonClosingZipInputStream.java b/src/main/java/com/rapidminer/tools/NonClosingZipInputStream.java
index 6c927f37a..f7fdd4aeb 100644
--- a/src/main/java/com/rapidminer/tools/NonClosingZipInputStream.java
+++ b/src/main/java/com/rapidminer/tools/NonClosingZipInputStream.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/NumberParser.java b/src/main/java/com/rapidminer/tools/NumberParser.java
index 59dfde519..f7667e2bd 100644
--- a/src/main/java/com/rapidminer/tools/NumberParser.java
+++ b/src/main/java/com/rapidminer/tools/NumberParser.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/ObjectVisualizerService.java b/src/main/java/com/rapidminer/tools/ObjectVisualizerService.java
index a69c1e492..4d642c5af 100644
--- a/src/main/java/com/rapidminer/tools/ObjectVisualizerService.java
+++ b/src/main/java/com/rapidminer/tools/ObjectVisualizerService.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/Observable.java b/src/main/java/com/rapidminer/tools/Observable.java
index 9227a7134..939b06104 100644
--- a/src/main/java/com/rapidminer/tools/Observable.java
+++ b/src/main/java/com/rapidminer/tools/Observable.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/Observer.java b/src/main/java/com/rapidminer/tools/Observer.java
index 560fba6ef..9dd84963b 100644
--- a/src/main/java/com/rapidminer/tools/Observer.java
+++ b/src/main/java/com/rapidminer/tools/Observer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/Ontology.java b/src/main/java/com/rapidminer/tools/Ontology.java
index 01766492c..1bf6f92fb 100644
--- a/src/main/java/com/rapidminer/tools/Ontology.java
+++ b/src/main/java/com/rapidminer/tools/Ontology.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/OperatorResourceConsumptionHandler.java b/src/main/java/com/rapidminer/tools/OperatorResourceConsumptionHandler.java
index 1a7412c23..6e25d21e7 100644
--- a/src/main/java/com/rapidminer/tools/OperatorResourceConsumptionHandler.java
+++ b/src/main/java/com/rapidminer/tools/OperatorResourceConsumptionHandler.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/OperatorService.java b/src/main/java/com/rapidminer/tools/OperatorService.java
index 8fe084f3c..2ae306c4d 100644
--- a/src/main/java/com/rapidminer/tools/OperatorService.java
+++ b/src/main/java/com/rapidminer/tools/OperatorService.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -35,15 +35,13 @@
import java.util.Set;
import java.util.TreeMap;
import java.util.logging.Level;
-
-import javax.xml.parsers.DocumentBuilderFactory;
-
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import com.rapidminer.RapidMiner;
+import com.rapidminer.gui.processeditor.search.OperatorGlobalSearch;
import com.rapidminer.io.process.XMLTools;
import com.rapidminer.operator.IOObject;
import com.rapidminer.operator.Operator;
@@ -55,6 +53,7 @@
import com.rapidminer.operator.ports.Ports;
import com.rapidminer.operator.ports.metadata.MetaData;
import com.rapidminer.operator.tools.OperatorCreationHook;
+import com.rapidminer.search.GlobalSearchable;
import com.rapidminer.tools.documentation.OperatorDocBundle;
import com.rapidminer.tools.documentation.OperatorDocumentation;
import com.rapidminer.tools.documentation.XMLOperatorDocBundle;
@@ -123,7 +122,14 @@ public static interface OperatorServiceListener {
private static final GroupTreeRoot groupTreeRoot = new GroupTreeRoot();
+ private static GlobalSearchable operatorSearchable;
+
public static void init() {
+ // this serves 2 purposes:
+ // 1: Add Global Search capabilities for operators by registering OperatorServiceListener
+ // 2: Keep reference so that weak listener reference is not killed via GC
+ operatorSearchable = new OperatorGlobalSearch();
+
URL mainOperators = getMainOperators();
if (mainOperators == null) {
LogService.getRoot().log(Level.SEVERE,
@@ -256,7 +262,7 @@ public static void registerOperators(String name, InputStream operatorsXML, Clas
String version = null;
Document document = null;
try {
- document = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(operatorsXML);
+ document = XMLTools.createDocumentBuilder().parse(operatorsXML);
if (!document.getDocumentElement().getTagName().toLowerCase().equals("operators")) {
LogService.getRoot().log(Level.SEVERE,
"com.rapidminer.tools.OperatorService.operator_description_file_outermost_tag", name);
diff --git a/src/main/java/com/rapidminer/tools/OutputStreamMultiplier.java b/src/main/java/com/rapidminer/tools/OutputStreamMultiplier.java
index 6d5d1318b..6def7873c 100644
--- a/src/main/java/com/rapidminer/tools/OutputStreamMultiplier.java
+++ b/src/main/java/com/rapidminer/tools/OutputStreamMultiplier.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/ParameterService.java b/src/main/java/com/rapidminer/tools/ParameterService.java
index 88cda7b85..566d10c6e 100644
--- a/src/main/java/com/rapidminer/tools/ParameterService.java
+++ b/src/main/java/com/rapidminer/tools/ParameterService.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -27,6 +27,7 @@
import java.io.InputStream;
import java.security.AccessControlException;
import java.security.AccessController;
+import java.security.PrivilegedAction;
import java.util.Collection;
import java.util.HashSet;
import java.util.LinkedList;
@@ -172,11 +173,6 @@ public static void setParameterValue(ParameterType type, String value) {
* might be removed in further versions.
*/
public static void setParameterValue(String key, String value) {
- // this might be removed later. It remains only for compatibility
- if (System.getProperty(key) == null) {
- System.setProperty(key, value);
- }
-
// Before changing, check if the Parameter is protected
if (RapidMiner.isParameterProtected(key)) {
// If yes, only extensions with enough permissions should be allowed to change it
diff --git a/src/main/java/com/rapidminer/tools/ParentResolvingMap.java b/src/main/java/com/rapidminer/tools/ParentResolvingMap.java
index f210e450e..00aabf3f7 100644
--- a/src/main/java/com/rapidminer/tools/ParentResolvingMap.java
+++ b/src/main/java/com/rapidminer/tools/ParentResolvingMap.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/PasswordInputCanceledException.java b/src/main/java/com/rapidminer/tools/PasswordInputCanceledException.java
index b9d092019..9d4f680af 100644
--- a/src/main/java/com/rapidminer/tools/PasswordInputCanceledException.java
+++ b/src/main/java/com/rapidminer/tools/PasswordInputCanceledException.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/PlatformUtilities.java b/src/main/java/com/rapidminer/tools/PlatformUtilities.java
index cde36d28f..bd5a5a0fd 100644
--- a/src/main/java/com/rapidminer/tools/PlatformUtilities.java
+++ b/src/main/java/com/rapidminer/tools/PlatformUtilities.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/ProcessTools.java b/src/main/java/com/rapidminer/tools/ProcessTools.java
index 43e492701..0ba26e34b 100644
--- a/src/main/java/com/rapidminer/tools/ProcessTools.java
+++ b/src/main/java/com/rapidminer/tools/ProcessTools.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/ProgressListener.java b/src/main/java/com/rapidminer/tools/ProgressListener.java
index b64455881..330a0f777 100644
--- a/src/main/java/com/rapidminer/tools/ProgressListener.java
+++ b/src/main/java/com/rapidminer/tools/ProgressListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/ProxySettings.java b/src/main/java/com/rapidminer/tools/ProxySettings.java
index 779fa818d..36d26453e 100644
--- a/src/main/java/com/rapidminer/tools/ProxySettings.java
+++ b/src/main/java/com/rapidminer/tools/ProxySettings.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/RMUrlHandler.java b/src/main/java/com/rapidminer/tools/RMUrlHandler.java
index 31d6a8d6c..81f8b9bce 100644
--- a/src/main/java/com/rapidminer/tools/RMUrlHandler.java
+++ b/src/main/java/com/rapidminer/tools/RMUrlHandler.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/RandomGenerator.java b/src/main/java/com/rapidminer/tools/RandomGenerator.java
index 50f7e2614..b6c65053b 100644
--- a/src/main/java/com/rapidminer/tools/RandomGenerator.java
+++ b/src/main/java/com/rapidminer/tools/RandomGenerator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/ReferenceCache.java b/src/main/java/com/rapidminer/tools/ReferenceCache.java
index 15d210ed3..2dbf372fa 100644
--- a/src/main/java/com/rapidminer/tools/ReferenceCache.java
+++ b/src/main/java/com/rapidminer/tools/ReferenceCache.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/ResourceSource.java b/src/main/java/com/rapidminer/tools/ResourceSource.java
index 8128d79af..c02c0662a 100644
--- a/src/main/java/com/rapidminer/tools/ResourceSource.java
+++ b/src/main/java/com/rapidminer/tools/ResourceSource.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/ResultService.java b/src/main/java/com/rapidminer/tools/ResultService.java
index 613f3d38a..369d33ab6 100644
--- a/src/main/java/com/rapidminer/tools/ResultService.java
+++ b/src/main/java/com/rapidminer/tools/ResultService.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/SimpleObservable.java b/src/main/java/com/rapidminer/tools/SimpleObservable.java
index 159e89fe6..cd2fd1a5b 100644
--- a/src/main/java/com/rapidminer/tools/SimpleObservable.java
+++ b/src/main/java/com/rapidminer/tools/SimpleObservable.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/StrictDecimalFormat.java b/src/main/java/com/rapidminer/tools/StrictDecimalFormat.java
index 271a099d6..d96c934f1 100644
--- a/src/main/java/com/rapidminer/tools/StrictDecimalFormat.java
+++ b/src/main/java/com/rapidminer/tools/StrictDecimalFormat.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -87,7 +87,7 @@ public Number parse(String source) throws ParseException {
* throw an error if a parse error has occurred somewhere in the source string, not only at
* the beginning as in {@link NumberFormat}
*/
- if (parsePosition.getIndex() < source.length()) {
+ if (result == null || parsePosition.getIndex() < source.length()) {
// try also with lowercase "e" as the exponent symbol (generally, lowercase version of
// the exponent separator)
String exponentSeparator = getDecimalFormatSymbols().getExponentSeparator();
diff --git a/src/main/java/com/rapidminer/tools/StringColorMap.java b/src/main/java/com/rapidminer/tools/StringColorMap.java
index 01085a65f..56f39b506 100644
--- a/src/main/java/com/rapidminer/tools/StringColorMap.java
+++ b/src/main/java/com/rapidminer/tools/StringColorMap.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/StringProperties.java b/src/main/java/com/rapidminer/tools/StringProperties.java
index d83c4f4c6..914e19030 100644
--- a/src/main/java/com/rapidminer/tools/StringProperties.java
+++ b/src/main/java/com/rapidminer/tools/StringProperties.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/SystemInfoUtilities.java b/src/main/java/com/rapidminer/tools/SystemInfoUtilities.java
index 79a7805b2..b4574228a 100644
--- a/src/main/java/com/rapidminer/tools/SystemInfoUtilities.java
+++ b/src/main/java/com/rapidminer/tools/SystemInfoUtilities.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/TimeFormat.java b/src/main/java/com/rapidminer/tools/TimeFormat.java
index 4dc2757df..87783f439 100644
--- a/src/main/java/com/rapidminer/tools/TimeFormat.java
+++ b/src/main/java/com/rapidminer/tools/TimeFormat.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/Tools.java b/src/main/java/com/rapidminer/tools/Tools.java
index a5ac15b6e..e3cab0eb5 100644
--- a/src/main/java/com/rapidminer/tools/Tools.java
+++ b/src/main/java/com/rapidminer/tools/Tools.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -47,6 +47,7 @@
import java.util.Arrays;
import java.util.Calendar;
import java.util.Collection;
+import java.util.Collections;
import java.util.Date;
import java.util.Enumeration;
import java.util.HashMap;
@@ -66,10 +67,7 @@
import java.util.zip.GZIPInputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
-
import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathExpressionException;
import javax.xml.xpath.XPathFactory;
@@ -84,6 +82,7 @@
import com.rapidminer.gui.RapidMinerGUI;
import com.rapidminer.gui.tools.VersionNumber;
import com.rapidminer.io.process.XMLImporter;
+import com.rapidminer.io.process.XMLTools;
import com.rapidminer.operator.Operator;
import com.rapidminer.operator.OperatorException;
import com.rapidminer.operator.ProcessStoppedException;
@@ -188,7 +187,7 @@ protected DateFormat initialValue() {
/** the current settings value of number of fraction digits shown */
private static int numberOfFractionDigits;
- private static final LinkedList ALL_RESOURCE_SOURCES = new LinkedList<>();
+ private static final List ALL_RESOURCE_SOURCES = Collections.synchronizedList(new LinkedList<>());
public static final String RESOURCE_PREFIX = "com/rapidminer/resources/";
@@ -1004,7 +1003,7 @@ public static void addResourceSource(ResourceSource source) {
/** Adds a new resource source before the others. Might be used by plugins etc. */
public static void prependResourceSource(ResourceSource source) {
- ALL_RESOURCE_SOURCES.addFirst(source);
+ ALL_RESOURCE_SOURCES.add(0, source);
}
public static URL getResource(ClassLoader loader, String name) {
@@ -1022,12 +1021,12 @@ public static URL getResource(ClassLoader loader, String prefix, String name) {
* only allowed to use '/' as separator instead of File.separator!
*/
public static URL getResource(String name) {
- Iterator i = ALL_RESOURCE_SOURCES.iterator();
- while (i.hasNext()) {
- ResourceSource source = i.next();
- URL url = source.getResource(name);
- if (url != null) {
- return url;
+ synchronized (ALL_RESOURCE_SOURCES) {
+ for (ResourceSource source : ALL_RESOURCE_SOURCES) {
+ URL url = source.getResource(name);
+ if (url != null) {
+ return url;
+ }
}
}
@@ -1079,8 +1078,7 @@ public static String readTextFile(File file) throws IOException {
try (FileInputStream inStream = new FileInputStream(file)) {
try {
- DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
- DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
+ DocumentBuilder documentBuilder = XMLTools.createDocumentBuilder();
Document processXmlDocument = documentBuilder.parse(inStream);
XPathFactory xPathFactory = XPathFactory.newInstance();
XPath xPath = xPathFactory.newXPath();
@@ -1093,8 +1091,6 @@ public static String readTextFile(File file) throws IOException {
useFallback = true;
} catch (SAXException e) {
useFallback = true;
- } catch (ParserConfigurationException e) {
- useFallback = true;
} catch (IOException e) {
useFallback = true;
} catch (NumberFormatException e) {
diff --git a/src/main/java/com/rapidminer/tools/WebServiceTools.java b/src/main/java/com/rapidminer/tools/WebServiceTools.java
index 2f19c62a1..5736eaf0e 100644
--- a/src/main/java/com/rapidminer/tools/WebServiceTools.java
+++ b/src/main/java/com/rapidminer/tools/WebServiceTools.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -26,9 +26,12 @@
import java.net.URLConnection;
import java.util.Map;
import java.util.logging.Level;
-
import javax.xml.ws.BindingProvider;
+import com.fasterxml.jackson.core.JsonParseException;
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.JsonMappingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
import com.rapidminer.tools.parameter.ParameterChangeListener;
@@ -154,6 +157,30 @@ public static InputStream openStreamFromURL(URL url, int timeout) throws IOExcep
return connection.getInputStream();
}
+ /**
+ * Tries to create an instance of the defined entity class from a JSON String.
+ *
+ * @param jsonString
+ * the JSON as string
+ * @param entityClass
+ * the class to parse the json string into
+ * @param failOnUnknown
+ * if {@code true}, parsing will fail with a {@link JsonMappingException} if unknown properties are encountered
+ * @return the parsed object
+ * @throws JsonParseException
+ * see {@link ObjectMapper#readValue(String, Class)}
+ * @throws JsonMappingException
+ * see {@link ObjectMapper#readValue(String, Class)}
+ * @throws IOException
+ * see {@link ObjectMapper#readValue(String, Class)}
+ * @since 8.1
+ */
+ public static T parseJsonString(String jsonString, Class entityClass, boolean failOnUnknown) throws JsonParseException, JsonMappingException, IOException {
+ ObjectMapper mapper = new ObjectMapper();
+ mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, failOnUnknown);
+ return mapper.readValue(jsonString, entityClass);
+ }
+
/** Clears all (Java-)cached credentials for Web services. */
public static void clearAuthCache() {
try {
@@ -169,4 +196,5 @@ public static void clearAuthCache() {
LogService.getRoot().log(Level.WARNING, "Could not clear auth cache!", t);
}
}
+
}
diff --git a/src/main/java/com/rapidminer/tools/WeightedObject.java b/src/main/java/com/rapidminer/tools/WeightedObject.java
index eb54818d1..bc99e84b1 100644
--- a/src/main/java/com/rapidminer/tools/WeightedObject.java
+++ b/src/main/java/com/rapidminer/tools/WeightedObject.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/WrapperLoggingHandler.java b/src/main/java/com/rapidminer/tools/WrapperLoggingHandler.java
index 88a29497f..6e2df0384 100644
--- a/src/main/java/com/rapidminer/tools/WrapperLoggingHandler.java
+++ b/src/main/java/com/rapidminer/tools/WrapperLoggingHandler.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/WriterMultiplier.java b/src/main/java/com/rapidminer/tools/WriterMultiplier.java
index f0194819f..b7e5c2e73 100644
--- a/src/main/java/com/rapidminer/tools/WriterMultiplier.java
+++ b/src/main/java/com/rapidminer/tools/WriterMultiplier.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/XMLException.java b/src/main/java/com/rapidminer/tools/XMLException.java
index d9d9a1a6e..ef2db5bd2 100644
--- a/src/main/java/com/rapidminer/tools/XMLException.java
+++ b/src/main/java/com/rapidminer/tools/XMLException.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/XMLParserException.java b/src/main/java/com/rapidminer/tools/XMLParserException.java
new file mode 100644
index 000000000..479bee3ee
--- /dev/null
+++ b/src/main/java/com/rapidminer/tools/XMLParserException.java
@@ -0,0 +1,19 @@
+/**
+ * Copyright (C) 2001-2018 RapidMiner GmbH
+ */
+package com.rapidminer.tools;
+
+import java.io.IOException;
+
+
+/**
+ * Marker Exception to use special Exception handling if required
+ *
+ * @author Andreas Timm
+ * @since 8.1
+ */
+public class XMLParserException extends IOException {
+ public XMLParserException(Throwable e) {
+ super(e);
+ }
+}
diff --git a/src/main/java/com/rapidminer/tools/XMLSerialization.java b/src/main/java/com/rapidminer/tools/XMLSerialization.java
index f402e0825..b93b1bb90 100644
--- a/src/main/java/com/rapidminer/tools/XMLSerialization.java
+++ b/src/main/java/com/rapidminer/tools/XMLSerialization.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/XmlRpcHandler.java b/src/main/java/com/rapidminer/tools/XmlRpcHandler.java
index 945f949ef..14304211f 100644
--- a/src/main/java/com/rapidminer/tools/XmlRpcHandler.java
+++ b/src/main/java/com/rapidminer/tools/XmlRpcHandler.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/att/AttributeDataSource.java b/src/main/java/com/rapidminer/tools/att/AttributeDataSource.java
index f9f24be84..1648f3d18 100644
--- a/src/main/java/com/rapidminer/tools/att/AttributeDataSource.java
+++ b/src/main/java/com/rapidminer/tools/att/AttributeDataSource.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -28,9 +28,6 @@
import java.util.StringTokenizer;
import java.util.logging.Level;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
import org.w3c.dom.Attr;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
@@ -42,6 +39,7 @@
import com.rapidminer.example.Attributes;
import com.rapidminer.example.table.AttributeFactory;
import com.rapidminer.example.table.NominalMapping;
+import com.rapidminer.io.process.XMLTools;
import com.rapidminer.tools.LogService;
import com.rapidminer.tools.LoggingHandler;
import com.rapidminer.tools.Ontology;
@@ -128,8 +126,8 @@ public Element writeXML(Document document, File defaultSource) throws IOExceptio
/** Returns a list of {@link AttributeDataSource}s read from the file. */
public static AttributeDataSources createAttributeDataSources(File attributeDescriptionFile, boolean sourceColRequired,
- LoggingHandler logging) throws XMLException, ParserConfigurationException, SAXException, IOException {
- Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(attributeDescriptionFile);
+ LoggingHandler logging) throws XMLException, SAXException, IOException {
+ Document document = XMLTools.createDocumentBuilder().parse(attributeDescriptionFile);
Element attributeSet = document.getDocumentElement();
if (!attributeSet.getTagName().equals("attributeset")) {
diff --git a/src/main/java/com/rapidminer/tools/att/AttributeDataSourceCreator.java b/src/main/java/com/rapidminer/tools/att/AttributeDataSourceCreator.java
index 08d37788e..803fd641b 100644
--- a/src/main/java/com/rapidminer/tools/att/AttributeDataSourceCreator.java
+++ b/src/main/java/com/rapidminer/tools/att/AttributeDataSourceCreator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/att/AttributeDataSources.java b/src/main/java/com/rapidminer/tools/att/AttributeDataSources.java
index 2f12924d4..232172aae 100644
--- a/src/main/java/com/rapidminer/tools/att/AttributeDataSources.java
+++ b/src/main/java/com/rapidminer/tools/att/AttributeDataSources.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/att/AttributeSet.java b/src/main/java/com/rapidminer/tools/att/AttributeSet.java
index 0db25ea20..e527f0b1c 100644
--- a/src/main/java/com/rapidminer/tools/att/AttributeSet.java
+++ b/src/main/java/com/rapidminer/tools/att/AttributeSet.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/cipher/CipherException.java b/src/main/java/com/rapidminer/tools/cipher/CipherException.java
index dc5bb72ba..068d47d71 100644
--- a/src/main/java/com/rapidminer/tools/cipher/CipherException.java
+++ b/src/main/java/com/rapidminer/tools/cipher/CipherException.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/cipher/CipherKeyProvider.java b/src/main/java/com/rapidminer/tools/cipher/CipherKeyProvider.java
index 9bc60af67..0d593b2b5 100644
--- a/src/main/java/com/rapidminer/tools/cipher/CipherKeyProvider.java
+++ b/src/main/java/com/rapidminer/tools/cipher/CipherKeyProvider.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/cipher/CipherTools.java b/src/main/java/com/rapidminer/tools/cipher/CipherTools.java
index edc75283c..21ad9c969 100644
--- a/src/main/java/com/rapidminer/tools/cipher/CipherTools.java
+++ b/src/main/java/com/rapidminer/tools/cipher/CipherTools.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -112,15 +112,7 @@ public static String encrypt(String text, Key key) throws CipherException {
base64 = Base64.encodeBytes(outputBytes);
}
return base64;
- } catch (NoSuchAlgorithmException e) {
- throw new CipherException("Failed to encrypt text: " + e.getMessage());
- } catch (NoSuchPaddingException e) {
- throw new CipherException("Failed to encrypt text: " + e.getMessage());
- } catch (InvalidKeyException e) {
- throw new CipherException("Failed to encrypt text: " + e.getMessage());
- } catch (IllegalBlockSizeException e) {
- throw new CipherException("Failed to encrypt text: " + e.getMessage());
- } catch (BadPaddingException e) {
+ } catch (NoSuchAlgorithmException | NoSuchPaddingException | InvalidKeyException | IllegalBlockSizeException | BadPaddingException e) {
throw new CipherException("Failed to encrypt text: " + e.getMessage());
}
}
@@ -168,17 +160,7 @@ public static String decrypt(String text, Key key) throws CipherException {
byte[] outputBytes = cipher.doFinal(encrypted);
String ret = new String(outputBytes);
return ret;
- } catch (NoSuchAlgorithmException e) {
- throw new CipherException("Failed to decrypt text: " + e.getMessage());
- } catch (NoSuchPaddingException e) {
- throw new CipherException("Failed to decrypt text: " + e.getMessage());
- } catch (IOException e) {
- throw new CipherException("Failed to decrypt text: " + e.getMessage());
- } catch (InvalidKeyException e) {
- throw new CipherException("Failed to decrypt text: " + e.getMessage());
- } catch (IllegalBlockSizeException e) {
- throw new CipherException("Failed to decrypt text: " + e.getMessage());
- } catch (BadPaddingException e) {
+ } catch (NoSuchAlgorithmException | NoSuchPaddingException | IOException | InvalidKeyException | IllegalBlockSizeException | BadPaddingException | IllegalArgumentException e) {
throw new CipherException("Failed to decrypt text: " + e.getMessage());
}
}
diff --git a/src/main/java/com/rapidminer/tools/cipher/FileCipherKeyProvider.java b/src/main/java/com/rapidminer/tools/cipher/FileCipherKeyProvider.java
index f09149af0..f2cd32d09 100644
--- a/src/main/java/com/rapidminer/tools/cipher/FileCipherKeyProvider.java
+++ b/src/main/java/com/rapidminer/tools/cipher/FileCipherKeyProvider.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/cipher/KeyGenerationException.java b/src/main/java/com/rapidminer/tools/cipher/KeyGenerationException.java
index 15920a64f..a1fa4cff0 100644
--- a/src/main/java/com/rapidminer/tools/cipher/KeyGenerationException.java
+++ b/src/main/java/com/rapidminer/tools/cipher/KeyGenerationException.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/cipher/KeyGeneratorTool.java b/src/main/java/com/rapidminer/tools/cipher/KeyGeneratorTool.java
index dac68c9d6..c50dcb154 100644
--- a/src/main/java/com/rapidminer/tools/cipher/KeyGeneratorTool.java
+++ b/src/main/java/com/rapidminer/tools/cipher/KeyGeneratorTool.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/cipher/KeyLoadingException.java b/src/main/java/com/rapidminer/tools/cipher/KeyLoadingException.java
index efe3ad304..5a327c040 100644
--- a/src/main/java/com/rapidminer/tools/cipher/KeyLoadingException.java
+++ b/src/main/java/com/rapidminer/tools/cipher/KeyLoadingException.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/cipher/KeyStoringException.java b/src/main/java/com/rapidminer/tools/cipher/KeyStoringException.java
index c2d2ab19e..83a977cb8 100644
--- a/src/main/java/com/rapidminer/tools/cipher/KeyStoringException.java
+++ b/src/main/java/com/rapidminer/tools/cipher/KeyStoringException.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/config/AbstractConfigurable.java b/src/main/java/com/rapidminer/tools/config/AbstractConfigurable.java
index fe2e39079..ab63f1a35 100644
--- a/src/main/java/com/rapidminer/tools/config/AbstractConfigurable.java
+++ b/src/main/java/com/rapidminer/tools/config/AbstractConfigurable.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/config/AbstractConfigurator.java b/src/main/java/com/rapidminer/tools/config/AbstractConfigurator.java
index 9b3587ae7..d135a66df 100644
--- a/src/main/java/com/rapidminer/tools/config/AbstractConfigurator.java
+++ b/src/main/java/com/rapidminer/tools/config/AbstractConfigurator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/config/ClientConfigurationManager.java b/src/main/java/com/rapidminer/tools/config/ClientConfigurationManager.java
index 00fa273a4..b9707efa1 100644
--- a/src/main/java/com/rapidminer/tools/config/ClientConfigurationManager.java
+++ b/src/main/java/com/rapidminer/tools/config/ClientConfigurationManager.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/config/Configurable.java b/src/main/java/com/rapidminer/tools/config/Configurable.java
index 88a10f58e..051050af1 100644
--- a/src/main/java/com/rapidminer/tools/config/Configurable.java
+++ b/src/main/java/com/rapidminer/tools/config/Configurable.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/config/ConfigurationException.java b/src/main/java/com/rapidminer/tools/config/ConfigurationException.java
index 250be02b7..dd58706cb 100644
--- a/src/main/java/com/rapidminer/tools/config/ConfigurationException.java
+++ b/src/main/java/com/rapidminer/tools/config/ConfigurationException.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/config/ConfigurationManager.java b/src/main/java/com/rapidminer/tools/config/ConfigurationManager.java
index 801e276b0..3ee70fc90 100644
--- a/src/main/java/com/rapidminer/tools/config/ConfigurationManager.java
+++ b/src/main/java/com/rapidminer/tools/config/ConfigurationManager.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -32,6 +32,7 @@
import java.util.Objects;
import java.util.Set;
import java.util.TreeMap;
+import java.util.WeakHashMap;
import java.util.function.Predicate;
import java.util.logging.Level;
import java.util.stream.Collectors;
@@ -42,12 +43,14 @@
import com.rapidminer.io.process.XMLTools;
import com.rapidminer.parameter.ParameterHandler;
import com.rapidminer.parameter.ParameterType;
+import com.rapidminer.repository.ConnectionListener;
+import com.rapidminer.repository.ConnectionRepository;
import com.rapidminer.repository.Folder;
import com.rapidminer.repository.Repository;
import com.rapidminer.repository.RepositoryAccessor;
+import com.rapidminer.repository.RepositoryException;
import com.rapidminer.repository.RepositoryListener;
import com.rapidminer.repository.RepositoryManager;
-import com.rapidminer.repository.internal.remote.ConnectionListener;
import com.rapidminer.repository.internal.remote.RemoteRepository;
import com.rapidminer.tools.I18N;
import com.rapidminer.tools.LogService;
@@ -165,7 +168,7 @@ public List getParameterTypes() {
public static final String RM_SERVER_CONFIGURATION_URL_PREFIX = "/api/rest/configuration/";
/**
- * User name of admin, used to check the access of a user to remote connections
+ * User name of the default admin, used to check the access of a user to remote connections
*/
public static final String RM_SERVER_CONFIGURATION_USER_ADMIN = "admin";
@@ -184,11 +187,11 @@ public List getParameterTypes() {
private ConnectionListener loadOnConnectListener = new ConnectionListener() {
@Override
- public void connectionLost(RemoteRepository rmServer) {}
+ public void connectionLost(ConnectionRepository rmServer) {}
@Override
- public void connectionEstablished(RemoteRepository rmServer) {
- loadFromRepository(rmServer);
+ public void connectionEstablished(ConnectionRepository rmServer) {
+ loadFromRepository((RemoteRepository) rmServer);
}
};
@@ -198,7 +201,9 @@ public void connectionEstablished(RemoteRepository rmServer) {
@Override
public void folderRefreshed(Folder folder) {
if (folder instanceof RemoteRepository) {
- loadFromRepository((RemoteRepository) folder);
+ if(consumeRefreshRequest(((RemoteRepository) folder).getRepository())) {
+ loadFromRepository((RemoteRepository) folder);
+ }
}
}
@@ -218,6 +223,9 @@ protected ConfigurationManager() {}
/** mapping between configuration type ids and configurables */
private Map, Configurable>> configurables = new HashMap<>();
+ /** stores refresh requests **/
+ private Map refreshRequests = Collections.synchronizedMap(new WeakHashMap<>());
+
/** mapping configurables to permitted groups */
private static Map, Set>> permittedGroups = new HashMap<>();
@@ -336,6 +344,22 @@ public boolean hasTypeId(String typeId) {
return configurators.keySet().contains(typeId);
}
+ /**
+ * Refreshes the given repository
+ *
+ * @param source The repository that should be refreshed
+ * @throws RepositoryException if the refresh failed
+ */
+ public void refresh(RemoteRepository source) throws RepositoryException {
+ refreshRequests.merge(source, 1, Integer::sum);
+ try {
+ source.refresh();
+ } catch (RepositoryException e) {
+ refreshRequests.remove(source);
+ throw e;
+ }
+ }
+
/**
* Returns all configurable names. Better to use
* {@link #getAllConfigurableNamesAndSources(String)}.
@@ -580,6 +604,45 @@ public String getTypeId() {
}
}
+ /**
+ * Checks if {@code requestCount} can be initialized or decremented
+ *
+ * @param repository
+ * The repository that should be refreshed (unused)
+ * @param requestCount
+ * The current refresh request count
+ * @return 0 if {@code requestCount} is {@code null}, {@code requestCount}-1 if {@code requestCount} > 0
+ * @throws IllegalArgumentException
+ * if {@code requestCount} is <= 0
+ */
+ private static Integer decrementOrInitializeRequestCount(final RemoteRepository repository, final Integer requestCount) {
+ if (requestCount == null) {
+ //Initial call
+ return 0;
+ } else if (requestCount <= 0) {
+ //Already loaded, no request
+ throw new IllegalArgumentException("requestCount should not be 0");
+ } else {
+ //Request exists, decrement
+ return requestCount - 1;
+ }
+ }
+
+ /**
+ * Atomically decrements the request counter
+ *
+ * @param source
+ * @return true if a refresh request exists for the source
+ */
+ private boolean consumeRefreshRequest(RemoteRepository source) {
+ try {
+ refreshRequests.compute(source, ConfigurationManager::decrementOrInitializeRequestCount);
+ } catch (IllegalArgumentException e) {
+ return false;
+ }
+ return true;
+ }
+
/**
* Loads all configurations from the configuration database or file.
*
@@ -748,7 +811,7 @@ public Set getPermittedGroupsForConfigurable(Configurable configurable)
permittedGroups.get(typeId).put(new ComparablePair<>(configurable.getName(), source), new HashSet());
}
- return permittedGroups.get(typeId).get(new ComparablePair<>(configurable.getName(), source));
+ return new HashSet<>(permittedGroups.get(typeId).get(new ComparablePair<>(configurable.getName(), source)));
}
/**
@@ -1056,6 +1119,19 @@ private static Element toXMLAndChangeEncryption(Document doc, AbstractConfigurat
if (configurable.getId() != -1) {
element.setAttribute("id", String.valueOf(configurable.getId()));
}
+ String source = getSourceNameForConfigurable(configurable);
+ if (permittedGroups != null && permittedGroups.get(configurable.getTypeId()) != null && permittedGroups
+ .get(configurable.getTypeId()).get(new ComparablePair<>(configurable.getName(), source)) != null) {
+ Element permittedGroupsElement = doc.createElement("permittedGroups");
+ Set configPermittedGroups = permittedGroups.get(configurable.getTypeId())
+ .get(new ComparablePair<>(configurable.getName(), source));
+ for (String group : configPermittedGroups) {
+ Element valueElement = doc.createElement("value");
+ valueElement.appendChild(doc.createTextNode(group));
+ permittedGroupsElement.appendChild(valueElement);
+ }
+ element.appendChild(permittedGroupsElement);
+ }
for (Entry param : configurable.getParameters().entrySet()) {
String key = param.getKey();
String value = null;
diff --git a/src/main/java/com/rapidminer/tools/config/ConfigurationNameConflictException.java b/src/main/java/com/rapidminer/tools/config/ConfigurationNameConflictException.java
index 7e8bc32cd..7ce57417c 100644
--- a/src/main/java/com/rapidminer/tools/config/ConfigurationNameConflictException.java
+++ b/src/main/java/com/rapidminer/tools/config/ConfigurationNameConflictException.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/config/Configurator.java b/src/main/java/com/rapidminer/tools/config/Configurator.java
index ce7cffb66..74b6d2952 100644
--- a/src/main/java/com/rapidminer/tools/config/Configurator.java
+++ b/src/main/java/com/rapidminer/tools/config/Configurator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/config/ConfiguratorParameterHandler.java b/src/main/java/com/rapidminer/tools/config/ConfiguratorParameterHandler.java
index c3f8284b2..7eb98d2a7 100644
--- a/src/main/java/com/rapidminer/tools/config/ConfiguratorParameterHandler.java
+++ b/src/main/java/com/rapidminer/tools/config/ConfiguratorParameterHandler.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/config/ParameterTypeConfigurable.java b/src/main/java/com/rapidminer/tools/config/ParameterTypeConfigurable.java
index 827952c06..38d5f03d5 100644
--- a/src/main/java/com/rapidminer/tools/config/ParameterTypeConfigurable.java
+++ b/src/main/java/com/rapidminer/tools/config/ParameterTypeConfigurable.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/config/TestConfigurableAction.java b/src/main/java/com/rapidminer/tools/config/TestConfigurableAction.java
index 87b2d4cf5..aedaf9045 100644
--- a/src/main/java/com/rapidminer/tools/config/TestConfigurableAction.java
+++ b/src/main/java/com/rapidminer/tools/config/TestConfigurableAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/config/actions/ActionResult.java b/src/main/java/com/rapidminer/tools/config/actions/ActionResult.java
index cbc1392ef..b25e0b63b 100644
--- a/src/main/java/com/rapidminer/tools/config/actions/ActionResult.java
+++ b/src/main/java/com/rapidminer/tools/config/actions/ActionResult.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/config/actions/ConfigurableAction.java b/src/main/java/com/rapidminer/tools/config/actions/ConfigurableAction.java
index 4f6a20b55..a217a61dc 100644
--- a/src/main/java/com/rapidminer/tools/config/actions/ConfigurableAction.java
+++ b/src/main/java/com/rapidminer/tools/config/actions/ConfigurableAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/config/actions/SimpleActionResult.java b/src/main/java/com/rapidminer/tools/config/actions/SimpleActionResult.java
index 2c2869338..3df0f8abe 100644
--- a/src/main/java/com/rapidminer/tools/config/actions/SimpleActionResult.java
+++ b/src/main/java/com/rapidminer/tools/config/actions/SimpleActionResult.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/config/gui/ConfigurableAdminPasswordDialog.java b/src/main/java/com/rapidminer/tools/config/gui/ConfigurableAdminPasswordDialog.java
index 2790e7eb3..febb04306 100644
--- a/src/main/java/com/rapidminer/tools/config/gui/ConfigurableAdminPasswordDialog.java
+++ b/src/main/java/com/rapidminer/tools/config/gui/ConfigurableAdminPasswordDialog.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -165,7 +165,6 @@ private JPanel makeMainPanel() {
c.gridy += 1;
mainPanel.add(userLabel, c);
c.gridx += 1;
- userField.setEditable(false);
userField.setMinimumSize(userField.getPreferredSize());
mainPanel.add(userField, c);
c.gridx += 1;
diff --git a/src/main/java/com/rapidminer/tools/config/gui/ConfigurableController.java b/src/main/java/com/rapidminer/tools/config/gui/ConfigurableController.java
index eee566567..d93b680e9 100644
--- a/src/main/java/com/rapidminer/tools/config/gui/ConfigurableController.java
+++ b/src/main/java/com/rapidminer/tools/config/gui/ConfigurableController.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -21,6 +21,7 @@
import java.io.IOException;
import java.net.HttpURLConnection;
import java.security.Key;
+import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -184,7 +185,17 @@ protected void addConfigurable(String typeId, String name, RemoteRepository sour
*/
protected void renameConfigurable(Configurable configurable, String newName) {
String oldConfigurableName = configurable.getName();
- configurable.setName(newName);
+
+ //Update permitted groups
+ if (configurable.getSource() != null) {
+ Set permittedGroups = ConfigurationManager.getInstance().getPermittedGroupsForConfigurable(configurable);
+ //Clear old entries
+ ConfigurationManager.getInstance().setPermittedGroupsForConfigurable(configurable, Collections.emptySet());
+ configurable.setName(newName);
+ ConfigurationManager.getInstance().setPermittedGroupsForConfigurable(configurable, permittedGroups);
+ } else {
+ configurable.setName(newName);
+ }
// Update ParameterHandler
ConfigurationManager.getInstance().getAbstractConfigurator(configurable.getTypeId())
diff --git a/src/main/java/com/rapidminer/tools/config/gui/ConfigurableCreationDialog.java b/src/main/java/com/rapidminer/tools/config/gui/ConfigurableCreationDialog.java
index 633e8e40e..1c48e5467 100644
--- a/src/main/java/com/rapidminer/tools/config/gui/ConfigurableCreationDialog.java
+++ b/src/main/java/com/rapidminer/tools/config/gui/ConfigurableCreationDialog.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -269,6 +269,7 @@ public void modelChanged(ConfigurableEvent e) {
}
}
}
+ requestedToAddConfigurable.clear();
}
}
};
diff --git a/src/main/java/com/rapidminer/tools/config/gui/ConfigurableDialog.java b/src/main/java/com/rapidminer/tools/config/gui/ConfigurableDialog.java
index 38a5d1e49..c6c08fe6c 100644
--- a/src/main/java/com/rapidminer/tools/config/gui/ConfigurableDialog.java
+++ b/src/main/java/com/rapidminer/tools/config/gui/ConfigurableDialog.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -712,14 +712,7 @@ private void updateParameterPanel(Configurable config) {
parameterPanel.removeAll();
// save previously edited parameters
- if (configParamPanel != null && previousConfigurable != null) {
- if (previousConfigurable.getSource() == null) {
- localController.saveConfigurable(previousConfigurable, configParamPanel.getParameters());
- } else {
- remoteControllers.get(previousConfigurable.getSource().getName()).saveConfigurable(previousConfigurable,
- configParamPanel.getParameters());
- }
- }
+ updateModel();
if (config != null) {
try {
// stripped text depending on the size of the panel
@@ -2052,4 +2045,18 @@ public void refreshConfigurables(String source) {
// reload the configurables (contains resetConnection)
updateConfigurables(source, remoteTaskPanes.get(source));
}
+
+ /**
+ * Updates the underlying {@link ConfigurableModel} with the currently displayed parameter data
+ */
+ public void updateModel(){
+ if (configParamPanel != null && previousConfigurable != null) {
+ if (previousConfigurable.getSource() == null) {
+ localController.saveConfigurable(previousConfigurable, configParamPanel.getParameters());
+ } else {
+ remoteControllers.get(previousConfigurable.getSource().getName()).saveConfigurable(previousConfigurable,
+ configParamPanel.getParameters());
+ }
+ }
+ }
}
diff --git a/src/main/java/com/rapidminer/tools/config/gui/ConfigurableUserAccessDialog.java b/src/main/java/com/rapidminer/tools/config/gui/ConfigurableUserAccessDialog.java
index 2beafcdaa..d3130bcac 100644
--- a/src/main/java/com/rapidminer/tools/config/gui/ConfigurableUserAccessDialog.java
+++ b/src/main/java/com/rapidminer/tools/config/gui/ConfigurableUserAccessDialog.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -30,6 +30,7 @@
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@@ -140,19 +141,18 @@ public void mouseClicked(MouseEvent e) {
@Override
public void run() {
- List allGroups;
+ Collection allGroups;
try {
allGroups = configurable.getSource().getContentManager().getAllGroupNames();
} catch (PasswordInputCanceledException | RepositoryException e) {
- allGroups = new ArrayList<>(
- ConfigurationManager.getInstance().getPermittedGroupsForConfigurable(configurable));
+ allGroups = ConfigurationManager.getInstance().getPermittedGroupsForConfigurable(configurable);
}
final Set permittedGroups = ConfigurationManager.getInstance()
.getPermittedGroupsForConfigurable(configurable);
- final List allGroupsFinal = allGroups;
+ final Collection allGroupsFinal = allGroups;
SwingUtilities.invokeLater(new Runnable() {
diff --git a/src/main/java/com/rapidminer/tools/config/gui/ConfiguratorParameterPanel.java b/src/main/java/com/rapidminer/tools/config/gui/ConfiguratorParameterPanel.java
index 4b8ca9687..0207fdcad 100644
--- a/src/main/java/com/rapidminer/tools/config/gui/ConfiguratorParameterPanel.java
+++ b/src/main/java/com/rapidminer/tools/config/gui/ConfiguratorParameterPanel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/config/gui/LoginAsAdminDropDownButton.java b/src/main/java/com/rapidminer/tools/config/gui/LoginAsAdminDropDownButton.java
index e1e1399ab..3733e435d 100644
--- a/src/main/java/com/rapidminer/tools/config/gui/LoginAsAdminDropDownButton.java
+++ b/src/main/java/com/rapidminer/tools/config/gui/LoginAsAdminDropDownButton.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/config/gui/RefreshConfigurablesDropDownButton.java b/src/main/java/com/rapidminer/tools/config/gui/RefreshConfigurablesDropDownButton.java
index 4eb25bbc9..c3c8bd078 100644
--- a/src/main/java/com/rapidminer/tools/config/gui/RefreshConfigurablesDropDownButton.java
+++ b/src/main/java/com/rapidminer/tools/config/gui/RefreshConfigurablesDropDownButton.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -31,6 +31,7 @@
import com.rapidminer.gui.tools.ResourceAction;
import com.rapidminer.gui.tools.SwingTools;
import com.rapidminer.gui.tools.components.DropDownPopupButton;
+import com.rapidminer.gui.tools.dialogs.ConfirmDialog;
import com.rapidminer.tools.I18N;
@@ -125,8 +126,18 @@ public JPopupMenu getPopupMenu() {
/** reloads the configurables of all connected servers */
private void refreshAllConfigurables() {
+ refreshConfigurables(remoteControllers.keySet().toArray(new String[0]));
+ }
- for (String serverName : remoteControllers.keySet()) {
+ /** reloads the configurables of the selected servers */
+ private void refreshConfigurables(String... serverNames) {
+
+ // show dialog if necessary
+ if (!userAcceptsDataLoss(serverNames)) {
+ return;
+ }
+
+ for (String serverName : serverNames) {
ConfigurableController controller = remoteControllers.get(serverName);
// if the connection to the server is established
@@ -137,15 +148,31 @@ private void refreshAllConfigurables() {
}
}
- /** reloads the configurables of the selected server */
- private void refreshConfigurables(String serverName) {
- ConfigurableController controller = remoteControllers.get(serverName);
- // if the connection to the server is established
- if (controller.getModel().getSource().isConnected()) {
- // refresh the configurables
- controller.getView().refreshConfigurables(serverName);
+ /**
+ * Displays a confirm dialog if unsaved changes would be lost
+ *
+ * @param serverNames
+ * @return false if the refresh should be cancelled
+ */
+ private boolean userAcceptsDataLoss(String... serverNames) {
+ for (String serverName : serverNames) {
+ ConfigurableController controller = remoteControllers.get(serverName);
+ //Don't check if not connected
+ if (!controller.getModel().getSource().isConnected()) {
+ continue;
+ }
+ //Update the model from the current view
+ controller.getView().updateModel();
+ //Check if modes has changed
+ if (controller.getModel().isModified()) {
+ //Ask if refresh should continue
+ return SwingTools.showConfirmDialog(remoteControllers.values().iterator().next().getView(), "configurable_confirm_refresh",
+ ConfirmDialog.YES_NO_OPTION) == ConfirmDialog.YES_OPTION;
+ }
}
+ //No changes, refresh
+ return true;
}
}
diff --git a/src/main/java/com/rapidminer/tools/config/gui/event/ConfigurableEvent.java b/src/main/java/com/rapidminer/tools/config/gui/event/ConfigurableEvent.java
index 967c07e23..beeaacf50 100644
--- a/src/main/java/com/rapidminer/tools/config/gui/event/ConfigurableEvent.java
+++ b/src/main/java/com/rapidminer/tools/config/gui/event/ConfigurableEvent.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/config/gui/event/ConfigurableModelEventListener.java b/src/main/java/com/rapidminer/tools/config/gui/event/ConfigurableModelEventListener.java
index 189ec971c..5871133cc 100644
--- a/src/main/java/com/rapidminer/tools/config/gui/event/ConfigurableModelEventListener.java
+++ b/src/main/java/com/rapidminer/tools/config/gui/event/ConfigurableModelEventListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/config/gui/model/ConfigurableModel.java b/src/main/java/com/rapidminer/tools/config/gui/model/ConfigurableModel.java
index c0a7aa8d5..11ff164dd 100644
--- a/src/main/java/com/rapidminer/tools/config/gui/model/ConfigurableModel.java
+++ b/src/main/java/com/rapidminer/tools/config/gui/model/ConfigurableModel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -18,6 +18,7 @@
*/
package com.rapidminer.tools.config.gui.model;
+import java.io.IOException;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
@@ -26,6 +27,8 @@
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
import javax.swing.event.EventListenerList;
import javax.xml.ws.WebServiceException;
@@ -46,6 +49,8 @@
import com.rapidminer.tools.config.gui.event.ConfigurableEvent;
import com.rapidminer.tools.config.gui.event.ConfigurableEvent.EventType;
import com.rapidminer.tools.config.gui.event.ConfigurableModelEventListener;
+import com.rapidminer.tools.config.jwt.JwtClaim;
+import com.rapidminer.tools.config.jwt.JwtReader;
import com.rapidminer.tools.container.Pair;
@@ -57,6 +62,7 @@
*/
public class ConfigurableModel implements Observer> {
+ private static final Logger LOGGER = Logger.getLogger(ConfigurableModel.class.getName());
/** comparator for Configurables */
private static Comparator COMPARATOR = new ConfigurationManager.ConfigurableComparator();
@@ -66,6 +72,9 @@ public class ConfigurableModel implements Observer
/** the list of all {@link Configurable}s in this model */
private List listOfConfigurables;
+ /** Shared lock for backup modifications */
+ private Object backupLock = new Object();
+
/**
* this map stores the original parameters for each {@link Configurable} which existed during
* construction
@@ -109,6 +118,16 @@ public class ConfigurableModel implements Observer
*/
private boolean adminRights = false;
+ /**
+ * defines whether {@link #adminRights} variable was initialized
+ */
+ private volatile boolean adminRightsInitialized = false;
+
+ /**
+ * lock for {@link #adminRights} initialization
+ */
+ private Object adminRightsInitLock = new Object();
+
/**
* Creates a new {@link ConfigurableModel} instance including all available {@link Configurable}
* s.
@@ -153,7 +172,6 @@ private void initModel(boolean allConfigurables, RemoteRepository source) {
this.originalNames = new HashMap<>();
this.originalPermittedUserGroups = new HashMap<>();
this.source = source;
- checkForAdminRights();
if (source != null) {
originalCredentials = Wallet.getInstance().getEntry(source.getAlias(), source.getBaseUrl().toString());
if (originalCredentials == null) {
@@ -180,7 +198,7 @@ private void initModel(boolean allConfigurables, RemoteRepository source) {
originalParameters.put(configurable, new HashMap<>(parameterMap));
originalNames.put(configurable, configurable.getName());
originalPermittedUserGroups.put(configurable,
- ConfigurationManager.getInstance().getPermittedGroupsForConfigurable(configurable));
+ ConfigurationManager.getInstance().getPermittedGroupsForConfigurable(configurable));
}
}
@@ -194,20 +212,27 @@ private void initModel(boolean allConfigurables, RemoteRepository source) {
* need to be stored separately.
*/
private void updateBackup() {
- for (Configurable configurable : listOfConfigurables) {
- // copy key-value pairs and save them in new map
- Map parameterMap = new HashMap<>();
- for (String key : configurable.getParameters().keySet()) {
- if (configurable instanceof AbstractConfigurable) {
- parameterMap.put(key, ((AbstractConfigurable) configurable).getParameterAsXMLString(key));
- } else {
- parameterMap.put(key, configurable.getParameter(key));
+ synchronized (backupLock) {
+ originalParameters.clear();
+ originalNames.clear();
+ originalPermittedUserGroups.clear();
+ synchronized (listOfConfigurables) {
+ for (Configurable configurable : listOfConfigurables) {
+ // copy key-value pairs and save them in new map
+ Map parameterMap = new HashMap<>();
+ for (String key : configurable.getParameters().keySet()) {
+ if (configurable instanceof AbstractConfigurable) {
+ parameterMap.put(key, ((AbstractConfigurable) configurable).getParameterAsXMLString(key));
+ } else {
+ parameterMap.put(key, configurable.getParameter(key));
+ }
+ }
+ originalParameters.put(configurable, parameterMap);
+ originalNames.put(configurable, configurable.getName());
+ originalPermittedUserGroups.put(configurable,
+ ConfigurationManager.getInstance().getPermittedGroupsForConfigurable(configurable));
}
}
- originalParameters.put(configurable, new HashMap<>(parameterMap));
- originalNames.put(configurable, configurable.getName());
- originalPermittedUserGroups.put(configurable,
- ConfigurationManager.getInstance().getPermittedGroupsForConfigurable(configurable));
}
}
@@ -235,6 +260,52 @@ public void checkVersion() {
}
}
+ /**
+ * Check if the model contains unsaved data
+ *
+ * @return true if the model was modified since the last refresh
+ */
+ public boolean isModified(){
+ //Fetch local copies of the original data
+ Map> originalPermittedUserGroups = getBackupPermittedUserGroups();
+ Map> originalParameters = getBackupParameters();
+ Map originalNames = getBackupNames();
+
+ //Check size
+ if (listOfConfigurables.size() != originalPermittedUserGroups.size()){
+ return true;
+ }
+ for(Configurable configurable: listOfConfigurables){
+ //Compare names // find missing
+ if(!configurable.getName().equals(originalNames.get(configurable))){
+ return true;
+ }
+ //Compare parameters
+ Map originalParameterMap = originalParameters.get(configurable);
+ if (configurable.getParameters().size() != originalParameterMap.size()) {
+ return true;
+ }
+ for (Map.Entry parameterEntry : originalParameterMap.entrySet()) {
+ if (!parameterEntry.getValue().toString()
+ .equals(configurable.getParameter(parameterEntry.getKey()).toString())) {
+ // If the string comparison of the 2 objects with equals() returns false
+ return true;
+ }
+ }
+ //Compare groups
+ Set originalGroups = originalPermittedUserGroups.get(configurable);
+ Set currentGroups = ConfigurationManager.getInstance().getPermittedGroupsForConfigurable(configurable);
+
+ if(originalGroups.size() != currentGroups.size()){
+ return true;
+ }
+ if(!originalGroups.containsAll(currentGroups)){
+ return true;
+ }
+ }
+ return false;
+ }
+
/**
* Adds a {@link ConfigurableModelEventListener} which will be informed of all changes to this
* model.
@@ -262,9 +333,11 @@ public void removeEventListener(final ConfigurableModelEventListener listener) {
*/
public List getListOfUniqueNamesForType(String typeId) {
List list = new LinkedList<>();
- for (Configurable c : listOfConfigurables) {
- if (c.getTypeId().equals(typeId)) {
- list.add(c.getName());
+ synchronized (listOfConfigurables) {
+ for (Configurable c : listOfConfigurables) {
+ if (c.getTypeId().equals(typeId)) {
+ list.add(c.getName());
+ }
}
}
@@ -285,7 +358,9 @@ public RemoteRepository getSource() {
* @return
*/
public Map> getBackupParameters() {
- return new HashMap<>(originalParameters);
+ synchronized (backupLock) {
+ return new HashMap<>(originalParameters);
+ }
}
/**
@@ -295,7 +370,9 @@ public Map> getBackupParameters() {
* @return
*/
public Map getBackupNames() {
- return new HashMap<>(originalNames);
+ synchronized (backupLock) {
+ return new HashMap<>(originalNames);
+ }
}
/**
@@ -305,7 +382,9 @@ public Map getBackupNames() {
* @return
*/
public Map> getBackupPermittedUserGroups() {
- return originalPermittedUserGroups;
+ synchronized (backupLock) {
+ return new HashMap<>(originalPermittedUserGroups);
+ }
}
/**
@@ -316,6 +395,8 @@ public boolean isEditingPossible() {
if (!wasVersionCheckDone()) {
try {
checkVersion();
+ /**also initialize the {@link adminRights} variable**/
+ checkForAdminRights();
} catch (WebServiceException e) {
// no connection possible
return false;
@@ -337,18 +418,22 @@ public boolean wasVersionCheckDone() {
* checks whether the user logged in has admin rights
*/
public void checkForAdminRights() {
- if (source == null) {
- adminRights = true;
- } else if (source.getUsername().equals(ConfigurationManager.RM_SERVER_CONFIGURATION_USER_ADMIN)) {
- adminRights = true;
- }
+ final boolean local = source == null;
+ adminRightsInitialized = true;
+ adminRights = local || hasAdminRightsOnServer();
}
/**
- *
* @return whether the user is allowed to edit, add, remove and save configurables
*/
public boolean hasAdminRights() {
+ if(!adminRightsInitialized){
+ synchronized (adminRightsInitLock){
+ if(!adminRightsInitialized) {
+ checkForAdminRights();
+ }
+ }
+ }
return adminRights;
}
@@ -389,7 +474,9 @@ public void removeConfigurable(Configurable configurable) {
* @return
*/
public List getConfigurables() {
- return new LinkedList<>(listOfConfigurables);
+ synchronized (listOfConfigurables) {
+ return new LinkedList<>(listOfConfigurables);
+ }
}
/**
@@ -487,7 +574,15 @@ public void resetConfigurables() {
if (source != null) {
for (Configurable originalConfig : originalNames.keySet()) {
ConfigurationManager.getInstance().removeConfigurable(originalConfig.getTypeId(),
- originalNames.get(originalConfig), source.getName());
+ originalNames.get(originalConfig), source.getName());
+ listOfConfigurables.remove(originalConfig);
+ }
+ synchronized (listOfConfigurables) {
+ for (Configurable newConfig : listOfConfigurables) {
+ ConfigurationManager.getInstance().removeConfigurable(newConfig.getTypeId(),
+ newConfig.getName(), source.getName());
+ fireConfigurableRemovedEvent(newConfig);
+ }
}
listOfConfigurables.clear();
}
@@ -513,7 +608,7 @@ public void resetConnection() throws RepositoryException {
}
try {
// clear the cache
- source.refresh();
+ ConfigurationManager.getInstance().refresh(source);
} catch (RepositoryException e) {
// if no connection could be established
firstException = e;
@@ -545,4 +640,23 @@ public void resetCredentials() {
}
}
}
+
+ /**
+ * Check if the user has admin rights on a remote repository
+ *
+ * @return true if user has admin rights
+ */
+ private boolean hasAdminRightsOnServer() {
+ try {
+ JwtClaim userInfo = new JwtReader().readClaim(getSource());
+ if (userInfo != null) {
+ return userInfo.isAdmin();
+ }
+ } catch (IOException | RepositoryException e) {
+ adminRightsInitialized = false;
+ LOGGER.log(Level.INFO, "Could not retrieve JSON Web Token from server " + (source == null ? "" : source.getBaseUrl()), e);
+ }
+ return false;
+ }
+
}
diff --git a/src/main/java/com/rapidminer/tools/config/gui/renderer/ConfigurableInfoLabelRenderer.java b/src/main/java/com/rapidminer/tools/config/gui/renderer/ConfigurableInfoLabelRenderer.java
index 496baae75..211a6fd50 100644
--- a/src/main/java/com/rapidminer/tools/config/gui/renderer/ConfigurableInfoLabelRenderer.java
+++ b/src/main/java/com/rapidminer/tools/config/gui/renderer/ConfigurableInfoLabelRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/config/gui/renderer/ConfigurableRenderer.java b/src/main/java/com/rapidminer/tools/config/gui/renderer/ConfigurableRenderer.java
index e40508c24..8156cc98e 100644
--- a/src/main/java/com/rapidminer/tools/config/gui/renderer/ConfigurableRenderer.java
+++ b/src/main/java/com/rapidminer/tools/config/gui/renderer/ConfigurableRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/config/gui/renderer/ConfigurationRenderer.java b/src/main/java/com/rapidminer/tools/config/gui/renderer/ConfigurationRenderer.java
index f89b00ab3..9ece4993a 100644
--- a/src/main/java/com/rapidminer/tools/config/gui/renderer/ConfigurationRenderer.java
+++ b/src/main/java/com/rapidminer/tools/config/gui/renderer/ConfigurationRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/config/jwt/JwtClaim.java b/src/main/java/com/rapidminer/tools/config/jwt/JwtClaim.java
new file mode 100644
index 000000000..dbfd5150b
--- /dev/null
+++ b/src/main/java/com/rapidminer/tools/config/jwt/JwtClaim.java
@@ -0,0 +1,52 @@
+/**
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
+ *
+ * Complete list of developers available at our web site:
+ *
+ * http://rapidminer.com
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the
+ * GNU Affero General Public License as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * 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/.
+ */
+package com.rapidminer.tools.config.jwt;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+
+
+/**
+ * Contains information about the repository user
+ *
+ * @since 8.1.0
+ * @author Jonas Wilms-Pfau
+ */
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class JwtClaim {
+
+ private boolean admin;
+
+ private String sub;
+
+ public boolean isAdmin() {
+ return admin;
+ }
+
+ public void setAdmin(boolean admin) {
+ this.admin = admin;
+ }
+
+ public String getSub() {
+ return sub;
+ }
+
+ public void setSub(String sub) {
+ this.sub = sub;
+ }
+}
diff --git a/src/main/java/com/rapidminer/tools/config/jwt/JwtReader.java b/src/main/java/com/rapidminer/tools/config/jwt/JwtReader.java
new file mode 100644
index 000000000..9245b9361
--- /dev/null
+++ b/src/main/java/com/rapidminer/tools/config/jwt/JwtReader.java
@@ -0,0 +1,112 @@
+/**
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
+ *
+ * Complete list of developers available at our web site:
+ *
+ * http://rapidminer.com
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the
+ * GNU Affero General Public License as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * 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/.
+ */
+package com.rapidminer.tools.config.jwt;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URLConnection;
+import java.util.Base64;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.rapidminer.repository.RepositoryException;
+import com.rapidminer.repository.internal.remote.RemoteRepository;
+
+
+/**
+ * Retrieves a {@link JwtClaim} from a {@link RemoteRepository}, which contains additional information about the user
+ *
+ * @since 8.1.0
+ * @author Jonas Wilms-Pfau
+ */
+public class JwtReader {
+ /**
+ * JWT Specification
+ */
+ private static final int JWT_HEADER = 0;
+ private static final int JWT_PAYLOAD = 1;
+ private static final int JWT_SIGNATURE = 2;
+ private static final int[] JWT_STRUCTURE = {JWT_HEADER, JWT_PAYLOAD, JWT_SIGNATURE};
+ /**
+ * Regex for the JWT Separator
+ */
+ private static final String JWT_SEPARATOR_REGEX = "\\.";
+ /**
+ * Location of the tokenservice
+ */
+ private static final String TOKENSERVICE_RELATIVE_URL = "internal/jaxrest/tokenservice";
+
+
+ /**
+ * Read the claim from the remote token service without verifying the signature
+ *
+ *
+ * Warning: Don't use the result of this method to give access to sensitive information!
+ *
+ *
+ * @return JwtClaim or null
+ *
+ * @throws RepositoryException
+ * @throws IOException
+ */
+ public JwtClaim readClaim(RemoteRepository source) throws RepositoryException, IOException {
+ if (source == null) {
+ return null;
+ }
+ URLConnection connection = source.getHTTPConnection(TOKENSERVICE_RELATIVE_URL, true);
+ ObjectMapper mapper = new ObjectMapper();
+ try (InputStream inputStream = connection.getInputStream()) {
+ //First extract the outer wrapper
+ JwtWrapper wrapper = mapper.readValue(inputStream, JwtWrapper.class);
+ //Split the token into header, payload and signature
+ String[] token = wrapper.getIdToken().split(JWT_SEPARATOR_REGEX);
+ //Verify the structure of the Token
+ if (token.length == JWT_STRUCTURE.length) {
+ //Extract the payload
+ String base64Body = token[JWT_PAYLOAD];
+ //Base64 Decode
+ byte[] jsonBody = Base64.getDecoder().decode(base64Body);
+ //Read the decoded JSON
+ return mapper.readValue(jsonBody, JwtClaim.class);
+ } else {
+ throw new RepositoryException("Invalid response from TokenService.");
+ }
+ }
+ }
+
+ /***
+ * JWT Wrapper object
+ *
+ * @since 8.1.0
+ * @author Jonas Wilms-Pfau
+ */
+ @JsonIgnoreProperties(ignoreUnknown = true)
+ private static class JwtWrapper {
+
+ private String idToken;
+
+ public String getIdToken() {
+ return idToken;
+ }
+
+ public void setIdToken(String idToken) {
+ this.idToken = idToken;
+ }
+ }
+}
diff --git a/src/main/java/com/rapidminer/tools/container/ComparablePair.java b/src/main/java/com/rapidminer/tools/container/ComparablePair.java
index c0ab32232..97244bba9 100644
--- a/src/main/java/com/rapidminer/tools/container/ComparablePair.java
+++ b/src/main/java/com/rapidminer/tools/container/ComparablePair.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/container/MultidimensionalArraySet.java b/src/main/java/com/rapidminer/tools/container/MultidimensionalArraySet.java
index 0763233dd..0bce9d6eb 100644
--- a/src/main/java/com/rapidminer/tools/container/MultidimensionalArraySet.java
+++ b/src/main/java/com/rapidminer/tools/container/MultidimensionalArraySet.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/container/Pair.java b/src/main/java/com/rapidminer/tools/container/Pair.java
index 4eb4d4ddf..728bafc12 100644
--- a/src/main/java/com/rapidminer/tools/container/Pair.java
+++ b/src/main/java/com/rapidminer/tools/container/Pair.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/container/Triple.java b/src/main/java/com/rapidminer/tools/container/Triple.java
index 08d9bfb05..834aa9030 100644
--- a/src/main/java/com/rapidminer/tools/container/Triple.java
+++ b/src/main/java/com/rapidminer/tools/container/Triple.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/container/Tupel.java b/src/main/java/com/rapidminer/tools/container/Tupel.java
index f77d615a7..c37d87792 100644
--- a/src/main/java/com/rapidminer/tools/container/Tupel.java
+++ b/src/main/java/com/rapidminer/tools/container/Tupel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/container/ValueAndCount.java b/src/main/java/com/rapidminer/tools/container/ValueAndCount.java
index dbe92c886..ba13e5d37 100644
--- a/src/main/java/com/rapidminer/tools/container/ValueAndCount.java
+++ b/src/main/java/com/rapidminer/tools/container/ValueAndCount.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/container/ValueSet.java b/src/main/java/com/rapidminer/tools/container/ValueSet.java
index 9e979ab74..e4ca552d7 100644
--- a/src/main/java/com/rapidminer/tools/container/ValueSet.java
+++ b/src/main/java/com/rapidminer/tools/container/ValueSet.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/documentation/ExampleProcess.java b/src/main/java/com/rapidminer/tools/documentation/ExampleProcess.java
index 91f86cfcc..26c913574 100644
--- a/src/main/java/com/rapidminer/tools/documentation/ExampleProcess.java
+++ b/src/main/java/com/rapidminer/tools/documentation/ExampleProcess.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/documentation/GroupDocumentation.java b/src/main/java/com/rapidminer/tools/documentation/GroupDocumentation.java
index 183487147..0cd19a709 100644
--- a/src/main/java/com/rapidminer/tools/documentation/GroupDocumentation.java
+++ b/src/main/java/com/rapidminer/tools/documentation/GroupDocumentation.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/documentation/OperatorDocBundle.java b/src/main/java/com/rapidminer/tools/documentation/OperatorDocBundle.java
index cb10ab85d..26d5d1728 100644
--- a/src/main/java/com/rapidminer/tools/documentation/OperatorDocBundle.java
+++ b/src/main/java/com/rapidminer/tools/documentation/OperatorDocBundle.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/documentation/OperatorDocumentation.java b/src/main/java/com/rapidminer/tools/documentation/OperatorDocumentation.java
index 0f5e89a2b..46bb0c8db 100644
--- a/src/main/java/com/rapidminer/tools/documentation/OperatorDocumentation.java
+++ b/src/main/java/com/rapidminer/tools/documentation/OperatorDocumentation.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/documentation/XMLOperatorDocBundle.java b/src/main/java/com/rapidminer/tools/documentation/XMLOperatorDocBundle.java
index 26b3e9001..4b839c294 100644
--- a/src/main/java/com/rapidminer/tools/documentation/XMLOperatorDocBundle.java
+++ b/src/main/java/com/rapidminer/tools/documentation/XMLOperatorDocBundle.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -18,11 +18,6 @@
*/
package com.rapidminer.tools.documentation;
-import com.rapidminer.io.process.XMLTools;
-import com.rapidminer.tools.I18N;
-import com.rapidminer.tools.LogService;
-import com.rapidminer.tools.XMLException;
-
import java.io.IOException;
import java.net.URL;
import java.util.Arrays;
@@ -31,14 +26,17 @@
import java.util.ResourceBundle;
import java.util.logging.Level;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
+import com.rapidminer.io.process.XMLTools;
+import com.rapidminer.tools.I18N;
+import com.rapidminer.tools.LogService;
+import com.rapidminer.tools.XMLException;
+import com.rapidminer.tools.XMLParserException;
+
/**
* A resource bundle that maps operator names to {@link OperatorDocumentation} instances. Instances
@@ -134,11 +132,10 @@ public ResourceBundle newBundle(String baseName, Locale locale, String format, C
public XMLOperatorDocBundle(URL url, String resourceName) throws IOException {
Document document;
try {
- document = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(url.openStream());
+ document = XMLTools.createDocumentBuilder().parse(url.openStream());
} catch (SAXException e) {
throw new IOException("Malformed XML operator help bundle: " + e, e);
- } catch (ParserConfigurationException e) {
- // LogService.getRoot().log(Level.WARNING, "Cannot create XML parser: "+e, e);
+ } catch (XMLParserException e) {
LogService.getRoot().log(
Level.WARNING,
I18N.getMessage(LogService.getRoot().getResourceBundle(),
diff --git a/src/main/java/com/rapidminer/tools/expression/Constant.java b/src/main/java/com/rapidminer/tools/expression/Constant.java
index ecd0291c8..3abf2c356 100644
--- a/src/main/java/com/rapidminer/tools/expression/Constant.java
+++ b/src/main/java/com/rapidminer/tools/expression/Constant.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/DoubleCallable.java b/src/main/java/com/rapidminer/tools/expression/DoubleCallable.java
index 0497bcbea..8e8c624e4 100644
--- a/src/main/java/com/rapidminer/tools/expression/DoubleCallable.java
+++ b/src/main/java/com/rapidminer/tools/expression/DoubleCallable.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/ExampleResolver.java b/src/main/java/com/rapidminer/tools/expression/ExampleResolver.java
index 909cfd2e3..94813a087 100644
--- a/src/main/java/com/rapidminer/tools/expression/ExampleResolver.java
+++ b/src/main/java/com/rapidminer/tools/expression/ExampleResolver.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/Expression.java b/src/main/java/com/rapidminer/tools/expression/Expression.java
index d025e4a52..67c3acdef 100644
--- a/src/main/java/com/rapidminer/tools/expression/Expression.java
+++ b/src/main/java/com/rapidminer/tools/expression/Expression.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/ExpressionContext.java b/src/main/java/com/rapidminer/tools/expression/ExpressionContext.java
index d08db1c9b..02fd1732d 100644
--- a/src/main/java/com/rapidminer/tools/expression/ExpressionContext.java
+++ b/src/main/java/com/rapidminer/tools/expression/ExpressionContext.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/ExpressionEvaluator.java b/src/main/java/com/rapidminer/tools/expression/ExpressionEvaluator.java
index 6803763c1..6e0fa6835 100644
--- a/src/main/java/com/rapidminer/tools/expression/ExpressionEvaluator.java
+++ b/src/main/java/com/rapidminer/tools/expression/ExpressionEvaluator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/ExpressionException.java b/src/main/java/com/rapidminer/tools/expression/ExpressionException.java
index c06ed8672..64eb28d84 100644
--- a/src/main/java/com/rapidminer/tools/expression/ExpressionException.java
+++ b/src/main/java/com/rapidminer/tools/expression/ExpressionException.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/ExpressionParser.java b/src/main/java/com/rapidminer/tools/expression/ExpressionParser.java
index 88c756b53..2791940e0 100644
--- a/src/main/java/com/rapidminer/tools/expression/ExpressionParser.java
+++ b/src/main/java/com/rapidminer/tools/expression/ExpressionParser.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/ExpressionParserBuilder.java b/src/main/java/com/rapidminer/tools/expression/ExpressionParserBuilder.java
index 74e202a72..f9921df38 100644
--- a/src/main/java/com/rapidminer/tools/expression/ExpressionParserBuilder.java
+++ b/src/main/java/com/rapidminer/tools/expression/ExpressionParserBuilder.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/ExpressionParserModule.java b/src/main/java/com/rapidminer/tools/expression/ExpressionParserModule.java
index 83f6e71cb..4148dd448 100644
--- a/src/main/java/com/rapidminer/tools/expression/ExpressionParserModule.java
+++ b/src/main/java/com/rapidminer/tools/expression/ExpressionParserModule.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/ExpressionParsingException.java b/src/main/java/com/rapidminer/tools/expression/ExpressionParsingException.java
index d2ae6a7c3..d049a0911 100644
--- a/src/main/java/com/rapidminer/tools/expression/ExpressionParsingException.java
+++ b/src/main/java/com/rapidminer/tools/expression/ExpressionParsingException.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/ExpressionRegistry.java b/src/main/java/com/rapidminer/tools/expression/ExpressionRegistry.java
index 2b1c00345..ca62c396f 100644
--- a/src/main/java/com/rapidminer/tools/expression/ExpressionRegistry.java
+++ b/src/main/java/com/rapidminer/tools/expression/ExpressionRegistry.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/ExpressionType.java b/src/main/java/com/rapidminer/tools/expression/ExpressionType.java
index 8aa19c16b..1ac17a354 100644
--- a/src/main/java/com/rapidminer/tools/expression/ExpressionType.java
+++ b/src/main/java/com/rapidminer/tools/expression/ExpressionType.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/Function.java b/src/main/java/com/rapidminer/tools/expression/Function.java
index 4f9fe7552..e5286457c 100644
--- a/src/main/java/com/rapidminer/tools/expression/Function.java
+++ b/src/main/java/com/rapidminer/tools/expression/Function.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/FunctionDescription.java b/src/main/java/com/rapidminer/tools/expression/FunctionDescription.java
index 89119ce20..a981ccdb2 100644
--- a/src/main/java/com/rapidminer/tools/expression/FunctionDescription.java
+++ b/src/main/java/com/rapidminer/tools/expression/FunctionDescription.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/FunctionInput.java b/src/main/java/com/rapidminer/tools/expression/FunctionInput.java
index c66286972..335feb8ff 100644
--- a/src/main/java/com/rapidminer/tools/expression/FunctionInput.java
+++ b/src/main/java/com/rapidminer/tools/expression/FunctionInput.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/FunctionInputException.java b/src/main/java/com/rapidminer/tools/expression/FunctionInputException.java
index 03046dd70..af49fbf29 100644
--- a/src/main/java/com/rapidminer/tools/expression/FunctionInputException.java
+++ b/src/main/java/com/rapidminer/tools/expression/FunctionInputException.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/MacroResolver.java b/src/main/java/com/rapidminer/tools/expression/MacroResolver.java
index 4afea13ee..702baa1c8 100644
--- a/src/main/java/com/rapidminer/tools/expression/MacroResolver.java
+++ b/src/main/java/com/rapidminer/tools/expression/MacroResolver.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/Resolver.java b/src/main/java/com/rapidminer/tools/expression/Resolver.java
index a0770d256..f07d01f2a 100644
--- a/src/main/java/com/rapidminer/tools/expression/Resolver.java
+++ b/src/main/java/com/rapidminer/tools/expression/Resolver.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/UnknownValue.java b/src/main/java/com/rapidminer/tools/expression/UnknownValue.java
index 9c4d9d29e..a63cbcbbc 100644
--- a/src/main/java/com/rapidminer/tools/expression/UnknownValue.java
+++ b/src/main/java/com/rapidminer/tools/expression/UnknownValue.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/BasicConstants.java b/src/main/java/com/rapidminer/tools/expression/internal/BasicConstants.java
index e19322e0e..0524cf423 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/BasicConstants.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/BasicConstants.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/ConstantResolver.java b/src/main/java/com/rapidminer/tools/expression/internal/ConstantResolver.java
index ae9d9dd3a..a5eaac6bc 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/ConstantResolver.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/ConstantResolver.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/ExpressionParserConstants.java b/src/main/java/com/rapidminer/tools/expression/internal/ExpressionParserConstants.java
index 9e19c5c67..21a62e08b 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/ExpressionParserConstants.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/ExpressionParserConstants.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/ExpressionParserUtils.java b/src/main/java/com/rapidminer/tools/expression/internal/ExpressionParserUtils.java
index a93010ea9..75e389c36 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/ExpressionParserUtils.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/ExpressionParserUtils.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/SimpleConstant.java b/src/main/java/com/rapidminer/tools/expression/internal/SimpleConstant.java
index 0b3a65115..1a92064dc 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/SimpleConstant.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/SimpleConstant.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/SimpleExpressionContext.java b/src/main/java/com/rapidminer/tools/expression/internal/SimpleExpressionContext.java
index c2cd0186b..6a0cd6b63 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/SimpleExpressionContext.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/SimpleExpressionContext.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/SimpleExpressionEvaluator.java b/src/main/java/com/rapidminer/tools/expression/internal/SimpleExpressionEvaluator.java
index eb4c87b94..04cbe7674 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/SimpleExpressionEvaluator.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/SimpleExpressionEvaluator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/StandardFunctionsWithConstants.java b/src/main/java/com/rapidminer/tools/expression/internal/StandardFunctionsWithConstants.java
index 60db6ca40..7ade4ab73 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/StandardFunctionsWithConstants.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/StandardFunctionsWithConstants.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/StandardOperations.java b/src/main/java/com/rapidminer/tools/expression/internal/StandardOperations.java
index 9fa814727..3b9b8a7ea 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/StandardOperations.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/StandardOperations.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/UnknownResolverVariableException.java b/src/main/java/com/rapidminer/tools/expression/internal/UnknownResolverVariableException.java
index abc5ca88a..4bdf4fd70 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/UnknownResolverVariableException.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/UnknownResolverVariableException.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/antlr/AntlrParser.java b/src/main/java/com/rapidminer/tools/expression/internal/antlr/AntlrParser.java
index 1bc938d0b..3d8d0d1e6 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/antlr/AntlrParser.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/antlr/AntlrParser.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/antlr/CapitulatingErrorStrategy.java b/src/main/java/com/rapidminer/tools/expression/internal/antlr/CapitulatingErrorStrategy.java
index 35655bc1f..f1fd094ee 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/antlr/CapitulatingErrorStrategy.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/antlr/CapitulatingErrorStrategy.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/antlr/CapitulatingFunctionExpressionLexer.java b/src/main/java/com/rapidminer/tools/expression/internal/antlr/CapitulatingFunctionExpressionLexer.java
index 145d54580..c8d958638 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/antlr/CapitulatingFunctionExpressionLexer.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/antlr/CapitulatingFunctionExpressionLexer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/antlr/CapitulatingRuntimeException.java b/src/main/java/com/rapidminer/tools/expression/internal/antlr/CapitulatingRuntimeException.java
index 60c99daa8..b410306f4 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/antlr/CapitulatingRuntimeException.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/antlr/CapitulatingRuntimeException.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/antlr/EvaluatorCreationVisitor.java b/src/main/java/com/rapidminer/tools/expression/internal/antlr/EvaluatorCreationVisitor.java
index 9b6923713..db0254a0c 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/antlr/EvaluatorCreationVisitor.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/antlr/EvaluatorCreationVisitor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/antlr/ExpressionErrorListener.java b/src/main/java/com/rapidminer/tools/expression/internal/antlr/ExpressionErrorListener.java
index 4254acef8..37aa90466 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/antlr/ExpressionErrorListener.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/antlr/ExpressionErrorListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/antlr/FunctionListener.java b/src/main/java/com/rapidminer/tools/expression/internal/antlr/FunctionListener.java
index 762f04820..66ebc08cf 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/antlr/FunctionListener.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/antlr/FunctionListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/antlr/SimpleExpression.java b/src/main/java/com/rapidminer/tools/expression/internal/antlr/SimpleExpression.java
index eb4bb369d..e6f532bf0 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/antlr/SimpleExpression.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/antlr/SimpleExpression.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/antlr/UnknownDynamicVariableException.java b/src/main/java/com/rapidminer/tools/expression/internal/antlr/UnknownDynamicVariableException.java
index 901c053c9..b20822ca0 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/antlr/UnknownDynamicVariableException.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/antlr/UnknownDynamicVariableException.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/antlr/UnknownFunctionException.java b/src/main/java/com/rapidminer/tools/expression/internal/antlr/UnknownFunctionException.java
index 535aae4db..bce0cc7a9 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/antlr/UnknownFunctionException.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/antlr/UnknownFunctionException.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/antlr/UnknownScopeConstantException.java b/src/main/java/com/rapidminer/tools/expression/internal/antlr/UnknownScopeConstantException.java
index 914f7815c..c9edd9907 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/antlr/UnknownScopeConstantException.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/antlr/UnknownScopeConstantException.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/antlr/UnknownVariableException.java b/src/main/java/com/rapidminer/tools/expression/internal/antlr/UnknownVariableException.java
index 705ab5ba6..c86539380 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/antlr/UnknownVariableException.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/antlr/UnknownVariableException.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/Abstract1DoubleInputFunction.java b/src/main/java/com/rapidminer/tools/expression/internal/function/Abstract1DoubleInputFunction.java
index 8e42565b0..879e7e818 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/Abstract1DoubleInputFunction.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/Abstract1DoubleInputFunction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/Abstract2DoubleInputFunction.java b/src/main/java/com/rapidminer/tools/expression/internal/function/Abstract2DoubleInputFunction.java
index a23292a75..733bc0da5 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/Abstract2DoubleInputFunction.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/Abstract2DoubleInputFunction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/AbstractArbitraryDoubleInputFunction.java b/src/main/java/com/rapidminer/tools/expression/internal/function/AbstractArbitraryDoubleInputFunction.java
index c54ff85a5..26ca30dee 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/AbstractArbitraryDoubleInputFunction.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/AbstractArbitraryDoubleInputFunction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/AbstractArbitraryStringInputStringOutputFunction.java b/src/main/java/com/rapidminer/tools/expression/internal/function/AbstractArbitraryStringInputStringOutputFunction.java
index e1a85a7c4..e81efad5b 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/AbstractArbitraryStringInputStringOutputFunction.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/AbstractArbitraryStringInputStringOutputFunction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/AbstractFunction.java b/src/main/java/com/rapidminer/tools/expression/internal/function/AbstractFunction.java
index d7d8eda63..2b661a073 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/AbstractFunction.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/AbstractFunction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/basic/Divide.java b/src/main/java/com/rapidminer/tools/expression/internal/function/basic/Divide.java
index 3010a4e3a..4c720c114 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/basic/Divide.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/basic/Divide.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/basic/Minus.java b/src/main/java/com/rapidminer/tools/expression/internal/function/basic/Minus.java
index 3bca34c60..cc5b22ed4 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/basic/Minus.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/basic/Minus.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/basic/Modulus.java b/src/main/java/com/rapidminer/tools/expression/internal/function/basic/Modulus.java
index ff2556e89..570123b72 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/basic/Modulus.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/basic/Modulus.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/basic/Multiply.java b/src/main/java/com/rapidminer/tools/expression/internal/function/basic/Multiply.java
index 8d6906759..9d8d91655 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/basic/Multiply.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/basic/Multiply.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/basic/Plus.java b/src/main/java/com/rapidminer/tools/expression/internal/function/basic/Plus.java
index 1e913dd7e..cbd6224b7 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/basic/Plus.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/basic/Plus.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/basic/Power.java b/src/main/java/com/rapidminer/tools/expression/internal/function/basic/Power.java
index 59f5f2f2a..686fa24fe 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/basic/Power.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/basic/Power.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/bitwise/BitAnd.java b/src/main/java/com/rapidminer/tools/expression/internal/function/bitwise/BitAnd.java
index 43deebc10..8f86e82c4 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/bitwise/BitAnd.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/bitwise/BitAnd.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/bitwise/BitNot.java b/src/main/java/com/rapidminer/tools/expression/internal/function/bitwise/BitNot.java
index e5c1c43c1..4617a1de3 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/bitwise/BitNot.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/bitwise/BitNot.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/bitwise/BitOr.java b/src/main/java/com/rapidminer/tools/expression/internal/function/bitwise/BitOr.java
index 8bacc3726..b34613136 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/bitwise/BitOr.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/bitwise/BitOr.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/bitwise/BitXor.java b/src/main/java/com/rapidminer/tools/expression/internal/function/bitwise/BitXor.java
index 389183454..087d2a930 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/bitwise/BitXor.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/bitwise/BitXor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/comparison/AbstractComparisonFunctionWith2Inputs.java b/src/main/java/com/rapidminer/tools/expression/internal/function/comparison/AbstractComparisonFunctionWith2Inputs.java
index 2201677a6..47970b629 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/comparison/AbstractComparisonFunctionWith2Inputs.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/comparison/AbstractComparisonFunctionWith2Inputs.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/comparison/AbstractEqualityFunctionWith2Inputs.java b/src/main/java/com/rapidminer/tools/expression/internal/function/comparison/AbstractEqualityFunctionWith2Inputs.java
index 25306dd3c..d2ea01be0 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/comparison/AbstractEqualityFunctionWith2Inputs.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/comparison/AbstractEqualityFunctionWith2Inputs.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/comparison/Equals.java b/src/main/java/com/rapidminer/tools/expression/internal/function/comparison/Equals.java
index 1b2867ba6..1dc91df57 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/comparison/Equals.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/comparison/Equals.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/comparison/Finite.java b/src/main/java/com/rapidminer/tools/expression/internal/function/comparison/Finite.java
index 2352014bb..8068d92ae 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/comparison/Finite.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/comparison/Finite.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/comparison/GreaterEqualThan.java b/src/main/java/com/rapidminer/tools/expression/internal/function/comparison/GreaterEqualThan.java
index ac76618cc..392210ab7 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/comparison/GreaterEqualThan.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/comparison/GreaterEqualThan.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/comparison/GreaterThan.java b/src/main/java/com/rapidminer/tools/expression/internal/function/comparison/GreaterThan.java
index 127b9d583..32a8bffb0 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/comparison/GreaterThan.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/comparison/GreaterThan.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/comparison/LessEqualThan.java b/src/main/java/com/rapidminer/tools/expression/internal/function/comparison/LessEqualThan.java
index e18780ace..e0f9fb4a5 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/comparison/LessEqualThan.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/comparison/LessEqualThan.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/comparison/LessThan.java b/src/main/java/com/rapidminer/tools/expression/internal/function/comparison/LessThan.java
index 7f45d17eb..7614ab8c6 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/comparison/LessThan.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/comparison/LessThan.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/comparison/Missing.java b/src/main/java/com/rapidminer/tools/expression/internal/function/comparison/Missing.java
index c9d96c772..d976272b9 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/comparison/Missing.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/comparison/Missing.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/comparison/NotEquals.java b/src/main/java/com/rapidminer/tools/expression/internal/function/comparison/NotEquals.java
index 13c113cc9..9f401cf15 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/comparison/NotEquals.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/comparison/NotEquals.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/conversion/DateParse.java b/src/main/java/com/rapidminer/tools/expression/internal/function/conversion/DateParse.java
index 91a303d1a..b2196fae7 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/conversion/DateParse.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/conversion/DateParse.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/conversion/DateParseCustom.java b/src/main/java/com/rapidminer/tools/expression/internal/function/conversion/DateParseCustom.java
index 75574f1d4..54ecef231 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/conversion/DateParseCustom.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/conversion/DateParseCustom.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/conversion/DateParseWithLocale.java b/src/main/java/com/rapidminer/tools/expression/internal/function/conversion/DateParseWithLocale.java
index d3feb1e3f..fd9b671ce 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/conversion/DateParseWithLocale.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/conversion/DateParseWithLocale.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/conversion/DateString.java b/src/main/java/com/rapidminer/tools/expression/internal/function/conversion/DateString.java
index 02f8a9dd2..a3163de0a 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/conversion/DateString.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/conversion/DateString.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/conversion/DateStringCustom.java b/src/main/java/com/rapidminer/tools/expression/internal/function/conversion/DateStringCustom.java
index e482032fd..617cb7464 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/conversion/DateStringCustom.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/conversion/DateStringCustom.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/conversion/DateStringLocale.java b/src/main/java/com/rapidminer/tools/expression/internal/function/conversion/DateStringLocale.java
index 9def7d6c8..74416bffb 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/conversion/DateStringLocale.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/conversion/DateStringLocale.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/conversion/NumericalToString.java b/src/main/java/com/rapidminer/tools/expression/internal/function/conversion/NumericalToString.java
index f2d578e74..2d654ddc1 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/conversion/NumericalToString.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/conversion/NumericalToString.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/conversion/StringToNumerical.java b/src/main/java/com/rapidminer/tools/expression/internal/function/conversion/StringToNumerical.java
index 427044fc1..31505a87f 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/conversion/StringToNumerical.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/conversion/StringToNumerical.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/date/Abstract2DateInputBooleanOutput.java b/src/main/java/com/rapidminer/tools/expression/internal/function/date/Abstract2DateInputBooleanOutput.java
index 30c44e094..ba09ac219 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/date/Abstract2DateInputBooleanOutput.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/date/Abstract2DateInputBooleanOutput.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/date/Abstract2DateInputIntegerOutputFunction.java b/src/main/java/com/rapidminer/tools/expression/internal/function/date/Abstract2DateInputIntegerOutputFunction.java
index f90d88727..d105ec53e 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/date/Abstract2DateInputIntegerOutputFunction.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/date/Abstract2DateInputIntegerOutputFunction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/date/AbstractDateManipulationFunction.java b/src/main/java/com/rapidminer/tools/expression/internal/function/date/AbstractDateManipulationFunction.java
index 54ffe6336..00babed93 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/date/AbstractDateManipulationFunction.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/date/AbstractDateManipulationFunction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/date/DateAdd.java b/src/main/java/com/rapidminer/tools/expression/internal/function/date/DateAdd.java
index 2c9f7543b..33c725fce 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/date/DateAdd.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/date/DateAdd.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/date/DateAfter.java b/src/main/java/com/rapidminer/tools/expression/internal/function/date/DateAfter.java
index a289ccc7e..6cd07d3b5 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/date/DateAfter.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/date/DateAfter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/date/DateBefore.java b/src/main/java/com/rapidminer/tools/expression/internal/function/date/DateBefore.java
index 872db67f1..9a4228d10 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/date/DateBefore.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/date/DateBefore.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/date/DateDiff.java b/src/main/java/com/rapidminer/tools/expression/internal/function/date/DateDiff.java
index c6eaab69c..f48fff546 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/date/DateDiff.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/date/DateDiff.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/date/DateGet.java b/src/main/java/com/rapidminer/tools/expression/internal/function/date/DateGet.java
index efcacc912..4dda25194 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/date/DateGet.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/date/DateGet.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/date/DateMillis.java b/src/main/java/com/rapidminer/tools/expression/internal/function/date/DateMillis.java
index 944610cbc..2fe12d638 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/date/DateMillis.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/date/DateMillis.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/date/DateNow.java b/src/main/java/com/rapidminer/tools/expression/internal/function/date/DateNow.java
index c5960b0e1..de9a02d6d 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/date/DateNow.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/date/DateNow.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/date/DateSet.java b/src/main/java/com/rapidminer/tools/expression/internal/function/date/DateSet.java
index 60c5dbd8e..1b159d252 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/date/DateSet.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/date/DateSet.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/eval/Evaluation.java b/src/main/java/com/rapidminer/tools/expression/internal/function/eval/Evaluation.java
index 702009f38..bc138f159 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/eval/Evaluation.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/eval/Evaluation.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/eval/SubexpressionEvaluationException.java b/src/main/java/com/rapidminer/tools/expression/internal/function/eval/SubexpressionEvaluationException.java
index 402418e0b..5325372a0 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/eval/SubexpressionEvaluationException.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/eval/SubexpressionEvaluationException.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/eval/TypeConstants.java b/src/main/java/com/rapidminer/tools/expression/internal/function/eval/TypeConstants.java
index f118f6766..a0414a724 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/eval/TypeConstants.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/eval/TypeConstants.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/logical/AbstractLogicalFunction.java b/src/main/java/com/rapidminer/tools/expression/internal/function/logical/AbstractLogicalFunction.java
index 825771a9b..303cf1fb9 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/logical/AbstractLogicalFunction.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/logical/AbstractLogicalFunction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/logical/AbstractLogicalFunctionWith1Input.java b/src/main/java/com/rapidminer/tools/expression/internal/function/logical/AbstractLogicalFunctionWith1Input.java
index d7e1d50c2..dd82a4bb0 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/logical/AbstractLogicalFunctionWith1Input.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/logical/AbstractLogicalFunctionWith1Input.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/logical/AbstractLogicalFunctionWith2Inputs.java b/src/main/java/com/rapidminer/tools/expression/internal/function/logical/AbstractLogicalFunctionWith2Inputs.java
index 513927ca5..89d0db851 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/logical/AbstractLogicalFunctionWith2Inputs.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/logical/AbstractLogicalFunctionWith2Inputs.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/logical/And.java b/src/main/java/com/rapidminer/tools/expression/internal/function/logical/And.java
index 02b90d256..48b26a380 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/logical/And.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/logical/And.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/logical/If.java b/src/main/java/com/rapidminer/tools/expression/internal/function/logical/If.java
index 68c8f2424..3515e5ca0 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/logical/If.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/logical/If.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/logical/Not.java b/src/main/java/com/rapidminer/tools/expression/internal/function/logical/Not.java
index 46641b010..bdedcba24 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/logical/Not.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/logical/Not.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/logical/Or.java b/src/main/java/com/rapidminer/tools/expression/internal/function/logical/Or.java
index d6399bc79..9e97a6090 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/logical/Or.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/logical/Or.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/mathematical/AbsoluteValue.java b/src/main/java/com/rapidminer/tools/expression/internal/function/mathematical/AbsoluteValue.java
index 58ca07904..ba0f44fd9 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/mathematical/AbsoluteValue.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/mathematical/AbsoluteValue.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/mathematical/BinaryLogarithm.java b/src/main/java/com/rapidminer/tools/expression/internal/function/mathematical/BinaryLogarithm.java
index e690da259..5d6beccad 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/mathematical/BinaryLogarithm.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/mathematical/BinaryLogarithm.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/mathematical/CommonLogarithm.java b/src/main/java/com/rapidminer/tools/expression/internal/function/mathematical/CommonLogarithm.java
index 4caa1c0d4..ded60d612 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/mathematical/CommonLogarithm.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/mathematical/CommonLogarithm.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/mathematical/ExponentialFunction.java b/src/main/java/com/rapidminer/tools/expression/internal/function/mathematical/ExponentialFunction.java
index d888e8148..a4e8956bf 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/mathematical/ExponentialFunction.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/mathematical/ExponentialFunction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/mathematical/ModulusAsFunction.java b/src/main/java/com/rapidminer/tools/expression/internal/function/mathematical/ModulusAsFunction.java
index a7f3059f7..0c172bee7 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/mathematical/ModulusAsFunction.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/mathematical/ModulusAsFunction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/mathematical/NaturalLogarithm.java b/src/main/java/com/rapidminer/tools/expression/internal/function/mathematical/NaturalLogarithm.java
index 2e94b7053..f32c53728 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/mathematical/NaturalLogarithm.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/mathematical/NaturalLogarithm.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/mathematical/PowerAsFunction.java b/src/main/java/com/rapidminer/tools/expression/internal/function/mathematical/PowerAsFunction.java
index 7f05d3612..7908e3df6 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/mathematical/PowerAsFunction.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/mathematical/PowerAsFunction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/mathematical/Signum.java b/src/main/java/com/rapidminer/tools/expression/internal/function/mathematical/Signum.java
index 11082ff95..69c0e7486 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/mathematical/Signum.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/mathematical/Signum.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/mathematical/SquareRoot.java b/src/main/java/com/rapidminer/tools/expression/internal/function/mathematical/SquareRoot.java
index f3ed21d02..c2b7e0dad 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/mathematical/SquareRoot.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/mathematical/SquareRoot.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/process/MacroValue.java b/src/main/java/com/rapidminer/tools/expression/internal/function/process/MacroValue.java
index bc89a6a6d..07525dc5f 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/process/MacroValue.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/process/MacroValue.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/process/ParameterValue.java b/src/main/java/com/rapidminer/tools/expression/internal/function/process/ParameterValue.java
index 3c75deea4..b7715663d 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/process/ParameterValue.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/process/ParameterValue.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/rounding/Abstract1or2DoubleInputFunction.java b/src/main/java/com/rapidminer/tools/expression/internal/function/rounding/Abstract1or2DoubleInputFunction.java
index 10e434429..6c8cf4522 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/rounding/Abstract1or2DoubleInputFunction.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/rounding/Abstract1or2DoubleInputFunction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/rounding/Ceil.java b/src/main/java/com/rapidminer/tools/expression/internal/function/rounding/Ceil.java
index bae3591d2..8a1c1197b 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/rounding/Ceil.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/rounding/Ceil.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/rounding/Floor.java b/src/main/java/com/rapidminer/tools/expression/internal/function/rounding/Floor.java
index 5dd3ae146..de64ff4f6 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/rounding/Floor.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/rounding/Floor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/rounding/Rint.java b/src/main/java/com/rapidminer/tools/expression/internal/function/rounding/Rint.java
index 544b5b608..817309385 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/rounding/Rint.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/rounding/Rint.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/rounding/Round.java b/src/main/java/com/rapidminer/tools/expression/internal/function/rounding/Round.java
index cd658b41f..620201137 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/rounding/Round.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/rounding/Round.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/statistical/Average.java b/src/main/java/com/rapidminer/tools/expression/internal/function/statistical/Average.java
index 2c953fa9d..20943bdca 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/statistical/Average.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/statistical/Average.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/statistical/Binominal.java b/src/main/java/com/rapidminer/tools/expression/internal/function/statistical/Binominal.java
index 3cc4d0fb2..ec2bb2851 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/statistical/Binominal.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/statistical/Binominal.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/statistical/Maximum.java b/src/main/java/com/rapidminer/tools/expression/internal/function/statistical/Maximum.java
index 445386b07..588a2d0d4 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/statistical/Maximum.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/statistical/Maximum.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/statistical/Minimum.java b/src/main/java/com/rapidminer/tools/expression/internal/function/statistical/Minimum.java
index 5e01fba95..fa0b2570a 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/statistical/Minimum.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/statistical/Minimum.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/statistical/Random.java b/src/main/java/com/rapidminer/tools/expression/internal/function/statistical/Random.java
index 3aa03d7c7..5ef58f23c 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/statistical/Random.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/statistical/Random.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/statistical/Sum.java b/src/main/java/com/rapidminer/tools/expression/internal/function/statistical/Sum.java
index d06350649..cc4580724 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/statistical/Sum.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/statistical/Sum.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/text/Abstract1StringInputIntegerOutputFunction.java b/src/main/java/com/rapidminer/tools/expression/internal/function/text/Abstract1StringInputIntegerOutputFunction.java
index a5cb31fbe..1b4a4603e 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/text/Abstract1StringInputIntegerOutputFunction.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/text/Abstract1StringInputIntegerOutputFunction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/text/Abstract2StringInputBooleanOutputFunction.java b/src/main/java/com/rapidminer/tools/expression/internal/function/text/Abstract2StringInputBooleanOutputFunction.java
index b8170327f..49d045823 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/text/Abstract2StringInputBooleanOutputFunction.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/text/Abstract2StringInputBooleanOutputFunction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/text/Abstract2StringInputIntegerOutputFunction.java b/src/main/java/com/rapidminer/tools/expression/internal/function/text/Abstract2StringInputIntegerOutputFunction.java
index b3fb07363..fb511a689 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/text/Abstract2StringInputIntegerOutputFunction.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/text/Abstract2StringInputIntegerOutputFunction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/text/AbstractStringIntegerInputStringOutputFunction.java b/src/main/java/com/rapidminer/tools/expression/internal/function/text/AbstractStringIntegerInputStringOutputFunction.java
index 1998f7ba8..045af2de8 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/text/AbstractStringIntegerInputStringOutputFunction.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/text/AbstractStringIntegerInputStringOutputFunction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/text/CharAt.java b/src/main/java/com/rapidminer/tools/expression/internal/function/text/CharAt.java
index 4304c0e0d..f02b57c54 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/text/CharAt.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/text/CharAt.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/text/Compare.java b/src/main/java/com/rapidminer/tools/expression/internal/function/text/Compare.java
index 08c6d53a4..1d1cd46a8 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/text/Compare.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/text/Compare.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/text/Concat.java b/src/main/java/com/rapidminer/tools/expression/internal/function/text/Concat.java
index 4ab22124a..ce0ec4a5b 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/text/Concat.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/text/Concat.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/text/Contains.java b/src/main/java/com/rapidminer/tools/expression/internal/function/text/Contains.java
index dcffc5f1f..c26403e4e 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/text/Contains.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/text/Contains.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/text/Cut.java b/src/main/java/com/rapidminer/tools/expression/internal/function/text/Cut.java
index aaf9505a3..d0db9e99d 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/text/Cut.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/text/Cut.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/text/Ends.java b/src/main/java/com/rapidminer/tools/expression/internal/function/text/Ends.java
index ee062f5b8..afec7c200 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/text/Ends.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/text/Ends.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/text/EscapeHTML.java b/src/main/java/com/rapidminer/tools/expression/internal/function/text/EscapeHTML.java
index 4db33851b..1620de4a2 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/text/EscapeHTML.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/text/EscapeHTML.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/text/Finds.java b/src/main/java/com/rapidminer/tools/expression/internal/function/text/Finds.java
index adb5bf18f..f1e3e3cb1 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/text/Finds.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/text/Finds.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/text/Index.java b/src/main/java/com/rapidminer/tools/expression/internal/function/text/Index.java
index cdbc29fbd..9f1b12c50 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/text/Index.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/text/Index.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/text/Length.java b/src/main/java/com/rapidminer/tools/expression/internal/function/text/Length.java
index ef7366d57..b4b16d247 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/text/Length.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/text/Length.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/text/Lower.java b/src/main/java/com/rapidminer/tools/expression/internal/function/text/Lower.java
index 5450ea544..fde3a9185 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/text/Lower.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/text/Lower.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/text/Matches.java b/src/main/java/com/rapidminer/tools/expression/internal/function/text/Matches.java
index 2ee23040f..9a1902f52 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/text/Matches.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/text/Matches.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/text/Prefix.java b/src/main/java/com/rapidminer/tools/expression/internal/function/text/Prefix.java
index 450313291..b3ad34457 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/text/Prefix.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/text/Prefix.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/text/Replace.java b/src/main/java/com/rapidminer/tools/expression/internal/function/text/Replace.java
index 7603a311b..1ec31827c 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/text/Replace.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/text/Replace.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/text/ReplaceAll.java b/src/main/java/com/rapidminer/tools/expression/internal/function/text/ReplaceAll.java
index 9e3dec8b7..1854cf0fd 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/text/ReplaceAll.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/text/ReplaceAll.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/text/Starts.java b/src/main/java/com/rapidminer/tools/expression/internal/function/text/Starts.java
index 91eb212af..415d2bc7d 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/text/Starts.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/text/Starts.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/text/Suffix.java b/src/main/java/com/rapidminer/tools/expression/internal/function/text/Suffix.java
index 9c212ce4b..91cca8d72 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/text/Suffix.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/text/Suffix.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/text/TextEquals.java b/src/main/java/com/rapidminer/tools/expression/internal/function/text/TextEquals.java
index cb3da2523..7b81ce1a8 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/text/TextEquals.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/text/TextEquals.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/text/Trim.java b/src/main/java/com/rapidminer/tools/expression/internal/function/text/Trim.java
index 77af46de2..d466a20f6 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/text/Trim.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/text/Trim.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/text/Upper.java b/src/main/java/com/rapidminer/tools/expression/internal/function/text/Upper.java
index 74ee8f0c2..33b87d9b9 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/text/Upper.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/text/Upper.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/ArcCosine.java b/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/ArcCosine.java
index 9c2484860..e57a22340 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/ArcCosine.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/ArcCosine.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/ArcHyperbolicCosine.java b/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/ArcHyperbolicCosine.java
index 5e320a7e4..0cfa6ebba 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/ArcHyperbolicCosine.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/ArcHyperbolicCosine.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/ArcHyperbolicSine.java b/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/ArcHyperbolicSine.java
index 1f9024e0e..24d705325 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/ArcHyperbolicSine.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/ArcHyperbolicSine.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/ArcHyperbolicTangent.java b/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/ArcHyperbolicTangent.java
index 5fe17fa49..d27539256 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/ArcHyperbolicTangent.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/ArcHyperbolicTangent.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/ArcSine.java b/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/ArcSine.java
index f14193861..4ea8c95fb 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/ArcSine.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/ArcSine.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/ArcTangent.java b/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/ArcTangent.java
index 28c112b78..e31a91cfd 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/ArcTangent.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/ArcTangent.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/ArcTangent2.java b/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/ArcTangent2.java
index c9e7794e6..5d67046ab 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/ArcTangent2.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/ArcTangent2.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/Cosecant.java b/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/Cosecant.java
index d651fb74e..f880afb0c 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/Cosecant.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/Cosecant.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/Cosine.java b/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/Cosine.java
index 558b2d143..00479867f 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/Cosine.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/Cosine.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/Cotangent.java b/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/Cotangent.java
index d81a786ee..b58264b1d 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/Cotangent.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/Cotangent.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/HyperbolicCosine.java b/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/HyperbolicCosine.java
index 9b8fb976f..b0a6ae767 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/HyperbolicCosine.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/HyperbolicCosine.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/HyperbolicSine.java b/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/HyperbolicSine.java
index c57b6fc5f..0ab0ecec5 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/HyperbolicSine.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/HyperbolicSine.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/HyperbolicTangent.java b/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/HyperbolicTangent.java
index 2b99d7133..c585e28e4 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/HyperbolicTangent.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/HyperbolicTangent.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/Secant.java b/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/Secant.java
index 0ad5e958b..e187e7f43 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/Secant.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/Secant.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/Sinus.java b/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/Sinus.java
index 7386661f3..695f2ce20 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/Sinus.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/Sinus.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/Tangent.java b/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/Tangent.java
index b9b528ece..9dabf71d2 100644
--- a/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/Tangent.java
+++ b/src/main/java/com/rapidminer/tools/expression/internal/function/trigonometric/Tangent.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/io/Encoding.java b/src/main/java/com/rapidminer/tools/io/Encoding.java
index 5820849d8..5b02cad96 100644
--- a/src/main/java/com/rapidminer/tools/io/Encoding.java
+++ b/src/main/java/com/rapidminer/tools/io/Encoding.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/io/GlobFilenameFilter.java b/src/main/java/com/rapidminer/tools/io/GlobFilenameFilter.java
index cf91b271c..2c863a8a3 100644
--- a/src/main/java/com/rapidminer/tools/io/GlobFilenameFilter.java
+++ b/src/main/java/com/rapidminer/tools/io/GlobFilenameFilter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/io/ProgressReportingInputStream.java b/src/main/java/com/rapidminer/tools/io/ProgressReportingInputStream.java
index 941697700..3f2b6e1bb 100644
--- a/src/main/java/com/rapidminer/tools/io/ProgressReportingInputStream.java
+++ b/src/main/java/com/rapidminer/tools/io/ProgressReportingInputStream.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/io/ProgressReportingOutputStream.java b/src/main/java/com/rapidminer/tools/io/ProgressReportingOutputStream.java
index 1df5893eb..fd1642e5a 100644
--- a/src/main/java/com/rapidminer/tools/io/ProgressReportingOutputStream.java
+++ b/src/main/java/com/rapidminer/tools/io/ProgressReportingOutputStream.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/io/TransferableImage.java b/src/main/java/com/rapidminer/tools/io/TransferableImage.java
index fc30cb271..a6db3978f 100644
--- a/src/main/java/com/rapidminer/tools/io/TransferableImage.java
+++ b/src/main/java/com/rapidminer/tools/io/TransferableImage.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/AnovaCalculator.java b/src/main/java/com/rapidminer/tools/math/AnovaCalculator.java
index 8b30126b4..5b52ae919 100644
--- a/src/main/java/com/rapidminer/tools/math/AnovaCalculator.java
+++ b/src/main/java/com/rapidminer/tools/math/AnovaCalculator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/Averagable.java b/src/main/java/com/rapidminer/tools/math/Averagable.java
index 056d8c39a..7a3c06241 100644
--- a/src/main/java/com/rapidminer/tools/math/Averagable.java
+++ b/src/main/java/com/rapidminer/tools/math/Averagable.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/AverageVector.java b/src/main/java/com/rapidminer/tools/math/AverageVector.java
index 9f434c734..33d55a965 100644
--- a/src/main/java/com/rapidminer/tools/math/AverageVector.java
+++ b/src/main/java/com/rapidminer/tools/math/AverageVector.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/BinaryPeakFinder.java b/src/main/java/com/rapidminer/tools/math/BinaryPeakFinder.java
index 46349240d..934b62be1 100644
--- a/src/main/java/com/rapidminer/tools/math/BinaryPeakFinder.java
+++ b/src/main/java/com/rapidminer/tools/math/BinaryPeakFinder.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/CombinationGenerator.java b/src/main/java/com/rapidminer/tools/math/CombinationGenerator.java
index 541a4995d..d7649ea1c 100644
--- a/src/main/java/com/rapidminer/tools/math/CombinationGenerator.java
+++ b/src/main/java/com/rapidminer/tools/math/CombinationGenerator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/Complex.java b/src/main/java/com/rapidminer/tools/math/Complex.java
index 6a919862a..0fb6fd18e 100644
--- a/src/main/java/com/rapidminer/tools/math/Complex.java
+++ b/src/main/java/com/rapidminer/tools/math/Complex.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/ContingencyTableTools.java b/src/main/java/com/rapidminer/tools/math/ContingencyTableTools.java
index feb7e9679..7ba768e2b 100644
--- a/src/main/java/com/rapidminer/tools/math/ContingencyTableTools.java
+++ b/src/main/java/com/rapidminer/tools/math/ContingencyTableTools.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/FastFourierTransform.java b/src/main/java/com/rapidminer/tools/math/FastFourierTransform.java
index 255886d66..7c9526ba0 100644
--- a/src/main/java/com/rapidminer/tools/math/FastFourierTransform.java
+++ b/src/main/java/com/rapidminer/tools/math/FastFourierTransform.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/LiftDataGenerator.java b/src/main/java/com/rapidminer/tools/math/LiftDataGenerator.java
index 0aad84668..668985cd1 100644
--- a/src/main/java/com/rapidminer/tools/math/LiftDataGenerator.java
+++ b/src/main/java/com/rapidminer/tools/math/LiftDataGenerator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/LinearRegression.java b/src/main/java/com/rapidminer/tools/math/LinearRegression.java
index 7bc2862c6..11ba92471 100644
--- a/src/main/java/com/rapidminer/tools/math/LinearRegression.java
+++ b/src/main/java/com/rapidminer/tools/math/LinearRegression.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/MathFunctions.java b/src/main/java/com/rapidminer/tools/math/MathFunctions.java
index 441779a97..f95005b22 100644
--- a/src/main/java/com/rapidminer/tools/math/MathFunctions.java
+++ b/src/main/java/com/rapidminer/tools/math/MathFunctions.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -19,6 +19,7 @@
package com.rapidminer.tools.math;
import Jama.Matrix;
+
import com.rapidminer.example.Attribute;
import com.rapidminer.example.Example;
import com.rapidminer.example.ExampleSet;
@@ -72,6 +73,13 @@ public class MathFunctions {
3.67983563856160859403E0, 1.37702099489081330271E0, 2.16236993594496635890E-1, 1.34204006088543189037E-2,
3.28014464682127739104E-4, 2.89247864745380683936E-6, 6.79019408009981274425E-9, };
+ // constants for invertMatrix
+ private static final int INVERSE_ITERATIONS = 5;
+ private static final double MINIMUM_ADDITION = Double.MIN_VALUE * Math.pow(10, INVERSE_ITERATIONS);
+ private static final double MINIMUM_THRESHOLD = Double.MIN_VALUE * 100;
+ private static final double ADDITION_FACTOR = 1.01;
+
+
/**
* returns tangens hyperbolicus of x, i.e. y = tanh(x) = (e^x - e^-x) / (e^x +
* e^-x).
@@ -184,7 +192,7 @@ public static double variance(double v[], double a) {
/** This method calculates the correlation between two (numerical) attributes of an example set. */
public static double correlation(ExampleSet exampleSet, Attribute firstAttribute, Attribute secondAttribute,
- boolean squared) {
+ boolean squared) {
double sumProd = 0.0d;
double sumFirst = 0.0d;
double sumSecond = 0.0d;
@@ -330,6 +338,10 @@ public static int factorial(int k) {
return result;
}
+ /**
+ * @deprecated since 8.1; please use {@link #invertMatrix(Matrix, boolean)} instead.
+ */
+ @Deprecated
public static Matrix invertMatrix(Matrix m) {
double startFactor = 0.1d;
while (true) {
@@ -346,4 +358,34 @@ public static Matrix invertMatrix(Matrix m) {
}
}
}
+
+ /**
+ * Tries to invert the given {@link Matrix}. If that is not possible and {@code approximate} is set to {@true}, an approximate inversion will be calculated.
+ * To do this, a small value is added to the diagonal of the matrix and then used for inversion. This procedure will be repeated only {@value #INVERSE_ITERATIONS} times.
+ *
+ * @param m
+ * the matrix to invert
+ * @param approximate
+ * if an approximation should be calculated
+ * @return the (approximated) inverted matrix or {@code null} if no inverse could be calculated
+ * @since 8.1
+ */
+ public static Matrix invertMatrix(Matrix m, boolean approximate) {
+ int dimension = Math.min(m.getRowDimension(), m.getColumnDimension());
+ for (int i = 0; i < INVERSE_ITERATIONS; i++) {
+ try {
+ return m.inverse();
+ } catch (Exception e) {
+ if (!approximate) {
+ return null;
+ }
+ for (int x = 0; x < dimension; x++) {
+ double value = m.get(x, x);
+ value = Math.abs(value) <= MINIMUM_THRESHOLD ? MINIMUM_ADDITION : value * ADDITION_FACTOR;
+ m.set(x, x, value);
+ }
+ }
+ }
+ return null;
+ }
}
diff --git a/src/main/java/com/rapidminer/tools/math/Peak.java b/src/main/java/com/rapidminer/tools/math/Peak.java
index 9da42765b..dce3667de 100644
--- a/src/main/java/com/rapidminer/tools/math/Peak.java
+++ b/src/main/java/com/rapidminer/tools/math/Peak.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/PeakFinder.java b/src/main/java/com/rapidminer/tools/math/PeakFinder.java
index a0fb50d3c..1d63c4c78 100644
--- a/src/main/java/com/rapidminer/tools/math/PeakFinder.java
+++ b/src/main/java/com/rapidminer/tools/math/PeakFinder.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/ROCBias.java b/src/main/java/com/rapidminer/tools/math/ROCBias.java
index 541a032ed..e2b032229 100644
--- a/src/main/java/com/rapidminer/tools/math/ROCBias.java
+++ b/src/main/java/com/rapidminer/tools/math/ROCBias.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/ROCData.java b/src/main/java/com/rapidminer/tools/math/ROCData.java
index dd122b7da..fbfd72275 100644
--- a/src/main/java/com/rapidminer/tools/math/ROCData.java
+++ b/src/main/java/com/rapidminer/tools/math/ROCData.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/ROCDataGenerator.java b/src/main/java/com/rapidminer/tools/math/ROCDataGenerator.java
index 38c7a7dd9..504a08887 100644
--- a/src/main/java/com/rapidminer/tools/math/ROCDataGenerator.java
+++ b/src/main/java/com/rapidminer/tools/math/ROCDataGenerator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/ROCPoint.java b/src/main/java/com/rapidminer/tools/math/ROCPoint.java
index ef6a658a2..52e336ac4 100644
--- a/src/main/java/com/rapidminer/tools/math/ROCPoint.java
+++ b/src/main/java/com/rapidminer/tools/math/ROCPoint.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/RunVector.java b/src/main/java/com/rapidminer/tools/math/RunVector.java
index 22ebb81fd..0aab0222a 100644
--- a/src/main/java/com/rapidminer/tools/math/RunVector.java
+++ b/src/main/java/com/rapidminer/tools/math/RunVector.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/SignificanceCalculationException.java b/src/main/java/com/rapidminer/tools/math/SignificanceCalculationException.java
index 49d423667..6165e0418 100644
--- a/src/main/java/com/rapidminer/tools/math/SignificanceCalculationException.java
+++ b/src/main/java/com/rapidminer/tools/math/SignificanceCalculationException.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/SignificanceTestResult.java b/src/main/java/com/rapidminer/tools/math/SignificanceTestResult.java
index 69569256f..62c438a3a 100644
--- a/src/main/java/com/rapidminer/tools/math/SignificanceTestResult.java
+++ b/src/main/java/com/rapidminer/tools/math/SignificanceTestResult.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/SimplePeakFinder.java b/src/main/java/com/rapidminer/tools/math/SimplePeakFinder.java
index 006f264b1..fd2aff4e6 100644
--- a/src/main/java/com/rapidminer/tools/math/SimplePeakFinder.java
+++ b/src/main/java/com/rapidminer/tools/math/SimplePeakFinder.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/SpectrumFilter.java b/src/main/java/com/rapidminer/tools/math/SpectrumFilter.java
index c91ff2f61..3ef8936ad 100644
--- a/src/main/java/com/rapidminer/tools/math/SpectrumFilter.java
+++ b/src/main/java/com/rapidminer/tools/math/SpectrumFilter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/StringToMatrixConverter.java b/src/main/java/com/rapidminer/tools/math/StringToMatrixConverter.java
index a35835270..4a84f711a 100644
--- a/src/main/java/com/rapidminer/tools/math/StringToMatrixConverter.java
+++ b/src/main/java/com/rapidminer/tools/math/StringToMatrixConverter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/TestGroup.java b/src/main/java/com/rapidminer/tools/math/TestGroup.java
index ff7fc234a..06bb4832e 100644
--- a/src/main/java/com/rapidminer/tools/math/TestGroup.java
+++ b/src/main/java/com/rapidminer/tools/math/TestGroup.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/VectorMath.java b/src/main/java/com/rapidminer/tools/math/VectorMath.java
index aa9f68f6d..f4e757b4e 100644
--- a/src/main/java/com/rapidminer/tools/math/VectorMath.java
+++ b/src/main/java/com/rapidminer/tools/math/VectorMath.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/WeightedConfidenceAndLabel.java b/src/main/java/com/rapidminer/tools/math/WeightedConfidenceAndLabel.java
index 0d2683956..fb362d36f 100644
--- a/src/main/java/com/rapidminer/tools/math/WeightedConfidenceAndLabel.java
+++ b/src/main/java/com/rapidminer/tools/math/WeightedConfidenceAndLabel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/WindowFunction.java b/src/main/java/com/rapidminer/tools/math/WindowFunction.java
index 7ca18c52c..9373d4f11 100644
--- a/src/main/java/com/rapidminer/tools/math/WindowFunction.java
+++ b/src/main/java/com/rapidminer/tools/math/WindowFunction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/container/BallTree.java b/src/main/java/com/rapidminer/tools/math/container/BallTree.java
index d0a8f9f6a..ee06a5b7c 100644
--- a/src/main/java/com/rapidminer/tools/math/container/BallTree.java
+++ b/src/main/java/com/rapidminer/tools/math/container/BallTree.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/container/BallTreeNode.java b/src/main/java/com/rapidminer/tools/math/container/BallTreeNode.java
index 5a283b519..cd9813e47 100644
--- a/src/main/java/com/rapidminer/tools/math/container/BallTreeNode.java
+++ b/src/main/java/com/rapidminer/tools/math/container/BallTreeNode.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/container/BoundedPriorityQueue.java b/src/main/java/com/rapidminer/tools/math/container/BoundedPriorityQueue.java
index a931090bf..cf9f4fb2b 100644
--- a/src/main/java/com/rapidminer/tools/math/container/BoundedPriorityQueue.java
+++ b/src/main/java/com/rapidminer/tools/math/container/BoundedPriorityQueue.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/container/GeometricDataCollection.java b/src/main/java/com/rapidminer/tools/math/container/GeometricDataCollection.java
index 95842ec85..66126dcf4 100644
--- a/src/main/java/com/rapidminer/tools/math/container/GeometricDataCollection.java
+++ b/src/main/java/com/rapidminer/tools/math/container/GeometricDataCollection.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/container/KDTree.java b/src/main/java/com/rapidminer/tools/math/container/KDTree.java
index 1c8fd454f..f8caaecca 100644
--- a/src/main/java/com/rapidminer/tools/math/container/KDTree.java
+++ b/src/main/java/com/rapidminer/tools/math/container/KDTree.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/container/KDTreeNode.java b/src/main/java/com/rapidminer/tools/math/container/KDTreeNode.java
index 2a6f4fc88..fff25cd7a 100644
--- a/src/main/java/com/rapidminer/tools/math/container/KDTreeNode.java
+++ b/src/main/java/com/rapidminer/tools/math/container/KDTreeNode.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/container/LinearList.java b/src/main/java/com/rapidminer/tools/math/container/LinearList.java
index b31a9a67a..db8dd3fe4 100644
--- a/src/main/java/com/rapidminer/tools/math/container/LinearList.java
+++ b/src/main/java/com/rapidminer/tools/math/container/LinearList.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/container/Range.java b/src/main/java/com/rapidminer/tools/math/container/Range.java
index 5a4f8709b..d4913f10a 100644
--- a/src/main/java/com/rapidminer/tools/math/container/Range.java
+++ b/src/main/java/com/rapidminer/tools/math/container/Range.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/container/ReverseComparableComparator.java b/src/main/java/com/rapidminer/tools/math/container/ReverseComparableComparator.java
index 9fb1d4373..31b730e38 100644
--- a/src/main/java/com/rapidminer/tools/math/container/ReverseComparableComparator.java
+++ b/src/main/java/com/rapidminer/tools/math/container/ReverseComparableComparator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/container/ReverseComparator.java b/src/main/java/com/rapidminer/tools/math/container/ReverseComparator.java
index 8ea4527d3..1b43fcbf7 100644
--- a/src/main/java/com/rapidminer/tools/math/container/ReverseComparator.java
+++ b/src/main/java/com/rapidminer/tools/math/container/ReverseComparator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/distribution/ContinuousDistribution.java b/src/main/java/com/rapidminer/tools/math/distribution/ContinuousDistribution.java
index 1f0e0e03c..a0f5fe322 100644
--- a/src/main/java/com/rapidminer/tools/math/distribution/ContinuousDistribution.java
+++ b/src/main/java/com/rapidminer/tools/math/distribution/ContinuousDistribution.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/distribution/DiscreteDistribution.java b/src/main/java/com/rapidminer/tools/math/distribution/DiscreteDistribution.java
index 1a97c800e..55d28e46b 100644
--- a/src/main/java/com/rapidminer/tools/math/distribution/DiscreteDistribution.java
+++ b/src/main/java/com/rapidminer/tools/math/distribution/DiscreteDistribution.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/distribution/Distribution.java b/src/main/java/com/rapidminer/tools/math/distribution/Distribution.java
index 6c02e634d..958620043 100644
--- a/src/main/java/com/rapidminer/tools/math/distribution/Distribution.java
+++ b/src/main/java/com/rapidminer/tools/math/distribution/Distribution.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/distribution/EmpiricalDistribution.java b/src/main/java/com/rapidminer/tools/math/distribution/EmpiricalDistribution.java
index 910125ed6..34456f284 100644
--- a/src/main/java/com/rapidminer/tools/math/distribution/EmpiricalDistribution.java
+++ b/src/main/java/com/rapidminer/tools/math/distribution/EmpiricalDistribution.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/distribution/EmpiricalNormalDistribution.java b/src/main/java/com/rapidminer/tools/math/distribution/EmpiricalNormalDistribution.java
index 6be7854c4..668da4b07 100644
--- a/src/main/java/com/rapidminer/tools/math/distribution/EmpiricalNormalDistribution.java
+++ b/src/main/java/com/rapidminer/tools/math/distribution/EmpiricalNormalDistribution.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/distribution/NormalDistribution.java b/src/main/java/com/rapidminer/tools/math/distribution/NormalDistribution.java
index 0a44454cd..6904e17f9 100644
--- a/src/main/java/com/rapidminer/tools/math/distribution/NormalDistribution.java
+++ b/src/main/java/com/rapidminer/tools/math/distribution/NormalDistribution.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/distribution/kernel/FullKernelDistribution.java b/src/main/java/com/rapidminer/tools/math/distribution/kernel/FullKernelDistribution.java
index 19d341d35..c85cdc783 100644
--- a/src/main/java/com/rapidminer/tools/math/distribution/kernel/FullKernelDistribution.java
+++ b/src/main/java/com/rapidminer/tools/math/distribution/kernel/FullKernelDistribution.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/distribution/kernel/GreedyKernelDistribution.java b/src/main/java/com/rapidminer/tools/math/distribution/kernel/GreedyKernelDistribution.java
index 870dda9dd..9bdf12d5d 100644
--- a/src/main/java/com/rapidminer/tools/math/distribution/kernel/GreedyKernelDistribution.java
+++ b/src/main/java/com/rapidminer/tools/math/distribution/kernel/GreedyKernelDistribution.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/distribution/kernel/KernelDistribution.java b/src/main/java/com/rapidminer/tools/math/distribution/kernel/KernelDistribution.java
index 6d6934931..8e7a4bc7e 100644
--- a/src/main/java/com/rapidminer/tools/math/distribution/kernel/KernelDistribution.java
+++ b/src/main/java/com/rapidminer/tools/math/distribution/kernel/KernelDistribution.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/distribution/kernel/NormalKernel.java b/src/main/java/com/rapidminer/tools/math/distribution/kernel/NormalKernel.java
index 39a7510b6..d252fab7a 100644
--- a/src/main/java/com/rapidminer/tools/math/distribution/kernel/NormalKernel.java
+++ b/src/main/java/com/rapidminer/tools/math/distribution/kernel/NormalKernel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/function/aggregation/AbstractAggregationFunction.java b/src/main/java/com/rapidminer/tools/math/function/aggregation/AbstractAggregationFunction.java
index 4e77c66f4..6f42fb5c3 100644
--- a/src/main/java/com/rapidminer/tools/math/function/aggregation/AbstractAggregationFunction.java
+++ b/src/main/java/com/rapidminer/tools/math/function/aggregation/AbstractAggregationFunction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/function/aggregation/AggregationFunction.java b/src/main/java/com/rapidminer/tools/math/function/aggregation/AggregationFunction.java
index 799a67153..29193ae49 100644
--- a/src/main/java/com/rapidminer/tools/math/function/aggregation/AggregationFunction.java
+++ b/src/main/java/com/rapidminer/tools/math/function/aggregation/AggregationFunction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/function/aggregation/AverageFunction.java b/src/main/java/com/rapidminer/tools/math/function/aggregation/AverageFunction.java
index 5ea2ef52b..2608071f0 100644
--- a/src/main/java/com/rapidminer/tools/math/function/aggregation/AverageFunction.java
+++ b/src/main/java/com/rapidminer/tools/math/function/aggregation/AverageFunction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/function/aggregation/CountFunction.java b/src/main/java/com/rapidminer/tools/math/function/aggregation/CountFunction.java
index 412c28478..ce83e9044 100644
--- a/src/main/java/com/rapidminer/tools/math/function/aggregation/CountFunction.java
+++ b/src/main/java/com/rapidminer/tools/math/function/aggregation/CountFunction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/function/aggregation/MaxFunction.java b/src/main/java/com/rapidminer/tools/math/function/aggregation/MaxFunction.java
index ac16b12c1..73f2394a3 100644
--- a/src/main/java/com/rapidminer/tools/math/function/aggregation/MaxFunction.java
+++ b/src/main/java/com/rapidminer/tools/math/function/aggregation/MaxFunction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/function/aggregation/MedianFunction.java b/src/main/java/com/rapidminer/tools/math/function/aggregation/MedianFunction.java
index ec8c1dbb2..11fa3b6b0 100644
--- a/src/main/java/com/rapidminer/tools/math/function/aggregation/MedianFunction.java
+++ b/src/main/java/com/rapidminer/tools/math/function/aggregation/MedianFunction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/function/aggregation/MinFunction.java b/src/main/java/com/rapidminer/tools/math/function/aggregation/MinFunction.java
index 0731b3ae5..919b972c9 100644
--- a/src/main/java/com/rapidminer/tools/math/function/aggregation/MinFunction.java
+++ b/src/main/java/com/rapidminer/tools/math/function/aggregation/MinFunction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/function/aggregation/ModeFunction.java b/src/main/java/com/rapidminer/tools/math/function/aggregation/ModeFunction.java
index e74d90bd4..aa05155cc 100644
--- a/src/main/java/com/rapidminer/tools/math/function/aggregation/ModeFunction.java
+++ b/src/main/java/com/rapidminer/tools/math/function/aggregation/ModeFunction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/function/aggregation/ProductFunction.java b/src/main/java/com/rapidminer/tools/math/function/aggregation/ProductFunction.java
index 8e5a0cb27..e70689c26 100644
--- a/src/main/java/com/rapidminer/tools/math/function/aggregation/ProductFunction.java
+++ b/src/main/java/com/rapidminer/tools/math/function/aggregation/ProductFunction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/function/aggregation/StandardDeviationFunction.java b/src/main/java/com/rapidminer/tools/math/function/aggregation/StandardDeviationFunction.java
index 4c314e5e7..b703d9690 100644
--- a/src/main/java/com/rapidminer/tools/math/function/aggregation/StandardDeviationFunction.java
+++ b/src/main/java/com/rapidminer/tools/math/function/aggregation/StandardDeviationFunction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/function/aggregation/SumFunction.java b/src/main/java/com/rapidminer/tools/math/function/aggregation/SumFunction.java
index c0a774e6d..d7086442b 100644
--- a/src/main/java/com/rapidminer/tools/math/function/aggregation/SumFunction.java
+++ b/src/main/java/com/rapidminer/tools/math/function/aggregation/SumFunction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/function/aggregation/VarianceFunction.java b/src/main/java/com/rapidminer/tools/math/function/aggregation/VarianceFunction.java
index 5f824c2f7..036012021 100644
--- a/src/main/java/com/rapidminer/tools/math/function/aggregation/VarianceFunction.java
+++ b/src/main/java/com/rapidminer/tools/math/function/aggregation/VarianceFunction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/function/window/BartlettWindowFunction.java b/src/main/java/com/rapidminer/tools/math/function/window/BartlettWindowFunction.java
index 79236065f..f917e8112 100644
--- a/src/main/java/com/rapidminer/tools/math/function/window/BartlettWindowFunction.java
+++ b/src/main/java/com/rapidminer/tools/math/function/window/BartlettWindowFunction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/function/window/BlackmanHarrisWindowFunction.java b/src/main/java/com/rapidminer/tools/math/function/window/BlackmanHarrisWindowFunction.java
index a1a1b3562..aed26ce5f 100644
--- a/src/main/java/com/rapidminer/tools/math/function/window/BlackmanHarrisWindowFunction.java
+++ b/src/main/java/com/rapidminer/tools/math/function/window/BlackmanHarrisWindowFunction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/function/window/BlackmanWindowFunction.java b/src/main/java/com/rapidminer/tools/math/function/window/BlackmanWindowFunction.java
index 3d0817142..4c75955a7 100644
--- a/src/main/java/com/rapidminer/tools/math/function/window/BlackmanWindowFunction.java
+++ b/src/main/java/com/rapidminer/tools/math/function/window/BlackmanWindowFunction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/function/window/GaussianWindowFunction.java b/src/main/java/com/rapidminer/tools/math/function/window/GaussianWindowFunction.java
index 5265b5cc0..5ea8700f6 100644
--- a/src/main/java/com/rapidminer/tools/math/function/window/GaussianWindowFunction.java
+++ b/src/main/java/com/rapidminer/tools/math/function/window/GaussianWindowFunction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/function/window/HammingWindowFunction.java b/src/main/java/com/rapidminer/tools/math/function/window/HammingWindowFunction.java
index f1c3938db..3683a7fd2 100644
--- a/src/main/java/com/rapidminer/tools/math/function/window/HammingWindowFunction.java
+++ b/src/main/java/com/rapidminer/tools/math/function/window/HammingWindowFunction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/function/window/HannWindowFunction.java b/src/main/java/com/rapidminer/tools/math/function/window/HannWindowFunction.java
index 4a01b90ea..61dfbb5ac 100644
--- a/src/main/java/com/rapidminer/tools/math/function/window/HannWindowFunction.java
+++ b/src/main/java/com/rapidminer/tools/math/function/window/HannWindowFunction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/function/window/RectangularWindowFunction.java b/src/main/java/com/rapidminer/tools/math/function/window/RectangularWindowFunction.java
index bd21544c2..19feddd0f 100644
--- a/src/main/java/com/rapidminer/tools/math/function/window/RectangularWindowFunction.java
+++ b/src/main/java/com/rapidminer/tools/math/function/window/RectangularWindowFunction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/function/window/TriangularWindowFunction.java b/src/main/java/com/rapidminer/tools/math/function/window/TriangularWindowFunction.java
index c0e5adb79..51cd3399a 100644
--- a/src/main/java/com/rapidminer/tools/math/function/window/TriangularWindowFunction.java
+++ b/src/main/java/com/rapidminer/tools/math/function/window/TriangularWindowFunction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/function/window/WindowFunction.java b/src/main/java/com/rapidminer/tools/math/function/window/WindowFunction.java
index 094b2cce0..4cae080e5 100644
--- a/src/main/java/com/rapidminer/tools/math/function/window/WindowFunction.java
+++ b/src/main/java/com/rapidminer/tools/math/function/window/WindowFunction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/kernels/AnovaKernel.java b/src/main/java/com/rapidminer/tools/math/kernels/AnovaKernel.java
index 481aed1d5..d8f440743 100644
--- a/src/main/java/com/rapidminer/tools/math/kernels/AnovaKernel.java
+++ b/src/main/java/com/rapidminer/tools/math/kernels/AnovaKernel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/kernels/DotKernel.java b/src/main/java/com/rapidminer/tools/math/kernels/DotKernel.java
index 4b9315311..7dc7ecd6a 100644
--- a/src/main/java/com/rapidminer/tools/math/kernels/DotKernel.java
+++ b/src/main/java/com/rapidminer/tools/math/kernels/DotKernel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/kernels/EpanechnikovKernel.java b/src/main/java/com/rapidminer/tools/math/kernels/EpanechnikovKernel.java
index af1372739..50b8816ad 100644
--- a/src/main/java/com/rapidminer/tools/math/kernels/EpanechnikovKernel.java
+++ b/src/main/java/com/rapidminer/tools/math/kernels/EpanechnikovKernel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/kernels/FullCache.java b/src/main/java/com/rapidminer/tools/math/kernels/FullCache.java
index 8a608d9fb..385d75912 100644
--- a/src/main/java/com/rapidminer/tools/math/kernels/FullCache.java
+++ b/src/main/java/com/rapidminer/tools/math/kernels/FullCache.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/kernels/GaussianCombinationKernel.java b/src/main/java/com/rapidminer/tools/math/kernels/GaussianCombinationKernel.java
index 03bdae8af..652c89071 100644
--- a/src/main/java/com/rapidminer/tools/math/kernels/GaussianCombinationKernel.java
+++ b/src/main/java/com/rapidminer/tools/math/kernels/GaussianCombinationKernel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/kernels/Kernel.java b/src/main/java/com/rapidminer/tools/math/kernels/Kernel.java
index a74e95b80..daefd4bbd 100644
--- a/src/main/java/com/rapidminer/tools/math/kernels/Kernel.java
+++ b/src/main/java/com/rapidminer/tools/math/kernels/Kernel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/kernels/KernelCache.java b/src/main/java/com/rapidminer/tools/math/kernels/KernelCache.java
index 179ecd993..debf5c7a0 100644
--- a/src/main/java/com/rapidminer/tools/math/kernels/KernelCache.java
+++ b/src/main/java/com/rapidminer/tools/math/kernels/KernelCache.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/kernels/MapBasedCache.java b/src/main/java/com/rapidminer/tools/math/kernels/MapBasedCache.java
index 7b00bd698..c1cf7a44e 100644
--- a/src/main/java/com/rapidminer/tools/math/kernels/MapBasedCache.java
+++ b/src/main/java/com/rapidminer/tools/math/kernels/MapBasedCache.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/kernels/MultiquadricKernel.java b/src/main/java/com/rapidminer/tools/math/kernels/MultiquadricKernel.java
index 44dde9b66..6dd607b7a 100644
--- a/src/main/java/com/rapidminer/tools/math/kernels/MultiquadricKernel.java
+++ b/src/main/java/com/rapidminer/tools/math/kernels/MultiquadricKernel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/kernels/PolynomialKernel.java b/src/main/java/com/rapidminer/tools/math/kernels/PolynomialKernel.java
index ff1440ab0..6e08b9faf 100644
--- a/src/main/java/com/rapidminer/tools/math/kernels/PolynomialKernel.java
+++ b/src/main/java/com/rapidminer/tools/math/kernels/PolynomialKernel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/kernels/RBFKernel.java b/src/main/java/com/rapidminer/tools/math/kernels/RBFKernel.java
index 83e6ffe9f..300b37f37 100644
--- a/src/main/java/com/rapidminer/tools/math/kernels/RBFKernel.java
+++ b/src/main/java/com/rapidminer/tools/math/kernels/RBFKernel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/kernels/SigmoidKernel.java b/src/main/java/com/rapidminer/tools/math/kernels/SigmoidKernel.java
index 7b47fb8cc..7e565790e 100644
--- a/src/main/java/com/rapidminer/tools/math/kernels/SigmoidKernel.java
+++ b/src/main/java/com/rapidminer/tools/math/kernels/SigmoidKernel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/matrix/CovarianceMatrix.java b/src/main/java/com/rapidminer/tools/math/matrix/CovarianceMatrix.java
index 704a873d8..a602d5c7a 100644
--- a/src/main/java/com/rapidminer/tools/math/matrix/CovarianceMatrix.java
+++ b/src/main/java/com/rapidminer/tools/math/matrix/CovarianceMatrix.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/matrix/MatrixTools.java b/src/main/java/com/rapidminer/tools/math/matrix/MatrixTools.java
index ee1f7a7d1..7373f30be 100644
--- a/src/main/java/com/rapidminer/tools/math/matrix/MatrixTools.java
+++ b/src/main/java/com/rapidminer/tools/math/matrix/MatrixTools.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/optimization/Optimization.java b/src/main/java/com/rapidminer/tools/math/optimization/Optimization.java
index c6594a7c4..6ed33ce0c 100644
--- a/src/main/java/com/rapidminer/tools/math/optimization/Optimization.java
+++ b/src/main/java/com/rapidminer/tools/math/optimization/Optimization.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/optimization/ec/es/BoltzmannSelection.java b/src/main/java/com/rapidminer/tools/math/optimization/ec/es/BoltzmannSelection.java
index f0bd7b133..923bc93da 100644
--- a/src/main/java/com/rapidminer/tools/math/optimization/ec/es/BoltzmannSelection.java
+++ b/src/main/java/com/rapidminer/tools/math/optimization/ec/es/BoltzmannSelection.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/optimization/ec/es/Crossover.java b/src/main/java/com/rapidminer/tools/math/optimization/ec/es/Crossover.java
index d0484fc70..3e3fc2cc2 100644
--- a/src/main/java/com/rapidminer/tools/math/optimization/ec/es/Crossover.java
+++ b/src/main/java/com/rapidminer/tools/math/optimization/ec/es/Crossover.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/optimization/ec/es/CutSelection.java b/src/main/java/com/rapidminer/tools/math/optimization/ec/es/CutSelection.java
index 7b54069a7..b9fc05342 100644
--- a/src/main/java/com/rapidminer/tools/math/optimization/ec/es/CutSelection.java
+++ b/src/main/java/com/rapidminer/tools/math/optimization/ec/es/CutSelection.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/optimization/ec/es/ESOptimization.java b/src/main/java/com/rapidminer/tools/math/optimization/ec/es/ESOptimization.java
index 78aa72ccc..d6f69f721 100644
--- a/src/main/java/com/rapidminer/tools/math/optimization/ec/es/ESOptimization.java
+++ b/src/main/java/com/rapidminer/tools/math/optimization/ec/es/ESOptimization.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/optimization/ec/es/ElitistSelection.java b/src/main/java/com/rapidminer/tools/math/optimization/ec/es/ElitistSelection.java
index 46eb72c71..bf7426860 100644
--- a/src/main/java/com/rapidminer/tools/math/optimization/ec/es/ElitistSelection.java
+++ b/src/main/java/com/rapidminer/tools/math/optimization/ec/es/ElitistSelection.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/optimization/ec/es/GaussianMutation.java b/src/main/java/com/rapidminer/tools/math/optimization/ec/es/GaussianMutation.java
index 6642d365e..b161995ee 100644
--- a/src/main/java/com/rapidminer/tools/math/optimization/ec/es/GaussianMutation.java
+++ b/src/main/java/com/rapidminer/tools/math/optimization/ec/es/GaussianMutation.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/optimization/ec/es/Individual.java b/src/main/java/com/rapidminer/tools/math/optimization/ec/es/Individual.java
index ead65f31f..df0a4977b 100644
--- a/src/main/java/com/rapidminer/tools/math/optimization/ec/es/Individual.java
+++ b/src/main/java/com/rapidminer/tools/math/optimization/ec/es/Individual.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/optimization/ec/es/Mutation.java b/src/main/java/com/rapidminer/tools/math/optimization/ec/es/Mutation.java
index 93790e61a..477ea4121 100644
--- a/src/main/java/com/rapidminer/tools/math/optimization/ec/es/Mutation.java
+++ b/src/main/java/com/rapidminer/tools/math/optimization/ec/es/Mutation.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/optimization/ec/es/NonDominatedSortingSelection.java b/src/main/java/com/rapidminer/tools/math/optimization/ec/es/NonDominatedSortingSelection.java
index 28bde6027..67c48b6bc 100644
--- a/src/main/java/com/rapidminer/tools/math/optimization/ec/es/NonDominatedSortingSelection.java
+++ b/src/main/java/com/rapidminer/tools/math/optimization/ec/es/NonDominatedSortingSelection.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/optimization/ec/es/OptimizationValueType.java b/src/main/java/com/rapidminer/tools/math/optimization/ec/es/OptimizationValueType.java
index ffdd2dd37..5f73e3380 100644
--- a/src/main/java/com/rapidminer/tools/math/optimization/ec/es/OptimizationValueType.java
+++ b/src/main/java/com/rapidminer/tools/math/optimization/ec/es/OptimizationValueType.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/optimization/ec/es/Population.java b/src/main/java/com/rapidminer/tools/math/optimization/ec/es/Population.java
index a43078035..480c4b020 100644
--- a/src/main/java/com/rapidminer/tools/math/optimization/ec/es/Population.java
+++ b/src/main/java/com/rapidminer/tools/math/optimization/ec/es/Population.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/optimization/ec/es/PopulationOperator.java b/src/main/java/com/rapidminer/tools/math/optimization/ec/es/PopulationOperator.java
index 7240b8267..82d95bd08 100644
--- a/src/main/java/com/rapidminer/tools/math/optimization/ec/es/PopulationOperator.java
+++ b/src/main/java/com/rapidminer/tools/math/optimization/ec/es/PopulationOperator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/optimization/ec/es/PopulationPlotter.java b/src/main/java/com/rapidminer/tools/math/optimization/ec/es/PopulationPlotter.java
index c5343c4c6..b5abcb485 100644
--- a/src/main/java/com/rapidminer/tools/math/optimization/ec/es/PopulationPlotter.java
+++ b/src/main/java/com/rapidminer/tools/math/optimization/ec/es/PopulationPlotter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/optimization/ec/es/RankSelection.java b/src/main/java/com/rapidminer/tools/math/optimization/ec/es/RankSelection.java
index 454b73c2a..b887ce8e0 100644
--- a/src/main/java/com/rapidminer/tools/math/optimization/ec/es/RankSelection.java
+++ b/src/main/java/com/rapidminer/tools/math/optimization/ec/es/RankSelection.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/optimization/ec/es/RouletteWheel.java b/src/main/java/com/rapidminer/tools/math/optimization/ec/es/RouletteWheel.java
index 263973fa0..504a03256 100644
--- a/src/main/java/com/rapidminer/tools/math/optimization/ec/es/RouletteWheel.java
+++ b/src/main/java/com/rapidminer/tools/math/optimization/ec/es/RouletteWheel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/optimization/ec/es/SparsityMutation.java b/src/main/java/com/rapidminer/tools/math/optimization/ec/es/SparsityMutation.java
index 1badccae2..d75667756 100644
--- a/src/main/java/com/rapidminer/tools/math/optimization/ec/es/SparsityMutation.java
+++ b/src/main/java/com/rapidminer/tools/math/optimization/ec/es/SparsityMutation.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/optimization/ec/es/StochasticUniversalSampling.java b/src/main/java/com/rapidminer/tools/math/optimization/ec/es/StochasticUniversalSampling.java
index 8a79be765..402537073 100644
--- a/src/main/java/com/rapidminer/tools/math/optimization/ec/es/StochasticUniversalSampling.java
+++ b/src/main/java/com/rapidminer/tools/math/optimization/ec/es/StochasticUniversalSampling.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/optimization/ec/es/SwitchingMutation.java b/src/main/java/com/rapidminer/tools/math/optimization/ec/es/SwitchingMutation.java
index 507d896c4..2447c3918 100644
--- a/src/main/java/com/rapidminer/tools/math/optimization/ec/es/SwitchingMutation.java
+++ b/src/main/java/com/rapidminer/tools/math/optimization/ec/es/SwitchingMutation.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/optimization/ec/es/TournamentSelection.java b/src/main/java/com/rapidminer/tools/math/optimization/ec/es/TournamentSelection.java
index f4babbd9b..bfcbb4813 100644
--- a/src/main/java/com/rapidminer/tools/math/optimization/ec/es/TournamentSelection.java
+++ b/src/main/java/com/rapidminer/tools/math/optimization/ec/es/TournamentSelection.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/optimization/ec/es/UniformSelection.java b/src/main/java/com/rapidminer/tools/math/optimization/ec/es/UniformSelection.java
index fdbf5ec06..f963183a8 100644
--- a/src/main/java/com/rapidminer/tools/math/optimization/ec/es/UniformSelection.java
+++ b/src/main/java/com/rapidminer/tools/math/optimization/ec/es/UniformSelection.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/optimization/ec/es/VarianceAdaption.java b/src/main/java/com/rapidminer/tools/math/optimization/ec/es/VarianceAdaption.java
index afe98480e..90dd51a6e 100644
--- a/src/main/java/com/rapidminer/tools/math/optimization/ec/es/VarianceAdaption.java
+++ b/src/main/java/com/rapidminer/tools/math/optimization/ec/es/VarianceAdaption.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/optimization/ec/pso/PSOOptimization.java b/src/main/java/com/rapidminer/tools/math/optimization/ec/pso/PSOOptimization.java
index f1ab92839..d33325f81 100644
--- a/src/main/java/com/rapidminer/tools/math/optimization/ec/pso/PSOOptimization.java
+++ b/src/main/java/com/rapidminer/tools/math/optimization/ec/pso/PSOOptimization.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/optimization/ec/pso/Population.java b/src/main/java/com/rapidminer/tools/math/optimization/ec/pso/Population.java
index 129d2cad2..b9613c30a 100644
--- a/src/main/java/com/rapidminer/tools/math/optimization/ec/pso/Population.java
+++ b/src/main/java/com/rapidminer/tools/math/optimization/ec/pso/Population.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/sampling/OrderedSamplingWithoutReplacement.java b/src/main/java/com/rapidminer/tools/math/sampling/OrderedSamplingWithoutReplacement.java
index 429000772..06df924e2 100644
--- a/src/main/java/com/rapidminer/tools/math/sampling/OrderedSamplingWithoutReplacement.java
+++ b/src/main/java/com/rapidminer/tools/math/sampling/OrderedSamplingWithoutReplacement.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/similarity/BregmanDivergence.java b/src/main/java/com/rapidminer/tools/math/similarity/BregmanDivergence.java
index 6509f25fc..00d76b1e7 100644
--- a/src/main/java/com/rapidminer/tools/math/similarity/BregmanDivergence.java
+++ b/src/main/java/com/rapidminer/tools/math/similarity/BregmanDivergence.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/similarity/DistanceMeasure.java b/src/main/java/com/rapidminer/tools/math/similarity/DistanceMeasure.java
index a2fa70f5c..270e1c2b8 100644
--- a/src/main/java/com/rapidminer/tools/math/similarity/DistanceMeasure.java
+++ b/src/main/java/com/rapidminer/tools/math/similarity/DistanceMeasure.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/similarity/DistanceMeasureHelper.java b/src/main/java/com/rapidminer/tools/math/similarity/DistanceMeasureHelper.java
index 80b0501ac..b9f3cd3a1 100644
--- a/src/main/java/com/rapidminer/tools/math/similarity/DistanceMeasureHelper.java
+++ b/src/main/java/com/rapidminer/tools/math/similarity/DistanceMeasureHelper.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/similarity/DistanceMeasures.java b/src/main/java/com/rapidminer/tools/math/similarity/DistanceMeasures.java
index e3563cbb1..a766a974b 100644
--- a/src/main/java/com/rapidminer/tools/math/similarity/DistanceMeasures.java
+++ b/src/main/java/com/rapidminer/tools/math/similarity/DistanceMeasures.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/similarity/SimilarityMeasure.java b/src/main/java/com/rapidminer/tools/math/similarity/SimilarityMeasure.java
index 06afe4d0b..2899d2f17 100644
--- a/src/main/java/com/rapidminer/tools/math/similarity/SimilarityMeasure.java
+++ b/src/main/java/com/rapidminer/tools/math/similarity/SimilarityMeasure.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/similarity/divergences/GeneralizedIDivergence.java b/src/main/java/com/rapidminer/tools/math/similarity/divergences/GeneralizedIDivergence.java
index 1cabdc3eb..4e00f233d 100644
--- a/src/main/java/com/rapidminer/tools/math/similarity/divergences/GeneralizedIDivergence.java
+++ b/src/main/java/com/rapidminer/tools/math/similarity/divergences/GeneralizedIDivergence.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/similarity/divergences/ItakuraSaitoDistance.java b/src/main/java/com/rapidminer/tools/math/similarity/divergences/ItakuraSaitoDistance.java
index 6305b2098..aa1497a84 100644
--- a/src/main/java/com/rapidminer/tools/math/similarity/divergences/ItakuraSaitoDistance.java
+++ b/src/main/java/com/rapidminer/tools/math/similarity/divergences/ItakuraSaitoDistance.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/similarity/divergences/KLDivergence.java b/src/main/java/com/rapidminer/tools/math/similarity/divergences/KLDivergence.java
index 2854d037e..22b7788ce 100644
--- a/src/main/java/com/rapidminer/tools/math/similarity/divergences/KLDivergence.java
+++ b/src/main/java/com/rapidminer/tools/math/similarity/divergences/KLDivergence.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/similarity/divergences/LogarithmicLoss.java b/src/main/java/com/rapidminer/tools/math/similarity/divergences/LogarithmicLoss.java
index 175fda121..be46be2b1 100644
--- a/src/main/java/com/rapidminer/tools/math/similarity/divergences/LogarithmicLoss.java
+++ b/src/main/java/com/rapidminer/tools/math/similarity/divergences/LogarithmicLoss.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/similarity/divergences/LogisticLoss.java b/src/main/java/com/rapidminer/tools/math/similarity/divergences/LogisticLoss.java
index 89bd86dc7..e017d2085 100644
--- a/src/main/java/com/rapidminer/tools/math/similarity/divergences/LogisticLoss.java
+++ b/src/main/java/com/rapidminer/tools/math/similarity/divergences/LogisticLoss.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/similarity/divergences/MahalanobisDistance.java b/src/main/java/com/rapidminer/tools/math/similarity/divergences/MahalanobisDistance.java
index ab05beb29..1d081c96a 100644
--- a/src/main/java/com/rapidminer/tools/math/similarity/divergences/MahalanobisDistance.java
+++ b/src/main/java/com/rapidminer/tools/math/similarity/divergences/MahalanobisDistance.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/similarity/divergences/SquaredEuclideanDistance.java b/src/main/java/com/rapidminer/tools/math/similarity/divergences/SquaredEuclideanDistance.java
index 2dcc48785..fbeb2acea 100644
--- a/src/main/java/com/rapidminer/tools/math/similarity/divergences/SquaredEuclideanDistance.java
+++ b/src/main/java/com/rapidminer/tools/math/similarity/divergences/SquaredEuclideanDistance.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/similarity/divergences/SquaredLoss.java b/src/main/java/com/rapidminer/tools/math/similarity/divergences/SquaredLoss.java
index 90f5272c7..97d4d44c7 100644
--- a/src/main/java/com/rapidminer/tools/math/similarity/divergences/SquaredLoss.java
+++ b/src/main/java/com/rapidminer/tools/math/similarity/divergences/SquaredLoss.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/similarity/mixed/MixedEuclideanDistance.java b/src/main/java/com/rapidminer/tools/math/similarity/mixed/MixedEuclideanDistance.java
index f9c2e3b3d..e9ccbfa6e 100644
--- a/src/main/java/com/rapidminer/tools/math/similarity/mixed/MixedEuclideanDistance.java
+++ b/src/main/java/com/rapidminer/tools/math/similarity/mixed/MixedEuclideanDistance.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/similarity/nominal/AbstractNominalSimilarity.java b/src/main/java/com/rapidminer/tools/math/similarity/nominal/AbstractNominalSimilarity.java
index bf41b8a14..e9dd7cfe4 100644
--- a/src/main/java/com/rapidminer/tools/math/similarity/nominal/AbstractNominalSimilarity.java
+++ b/src/main/java/com/rapidminer/tools/math/similarity/nominal/AbstractNominalSimilarity.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/similarity/nominal/DiceNominalSimilarity.java b/src/main/java/com/rapidminer/tools/math/similarity/nominal/DiceNominalSimilarity.java
index a63aa017a..f10f12fb0 100644
--- a/src/main/java/com/rapidminer/tools/math/similarity/nominal/DiceNominalSimilarity.java
+++ b/src/main/java/com/rapidminer/tools/math/similarity/nominal/DiceNominalSimilarity.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/similarity/nominal/JaccardNominalSimilarity.java b/src/main/java/com/rapidminer/tools/math/similarity/nominal/JaccardNominalSimilarity.java
index ac53c3383..f3f9f3685 100644
--- a/src/main/java/com/rapidminer/tools/math/similarity/nominal/JaccardNominalSimilarity.java
+++ b/src/main/java/com/rapidminer/tools/math/similarity/nominal/JaccardNominalSimilarity.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/similarity/nominal/KulczynskiNominalSimilarity.java b/src/main/java/com/rapidminer/tools/math/similarity/nominal/KulczynskiNominalSimilarity.java
index 5dfe722bf..2a7cbf26a 100644
--- a/src/main/java/com/rapidminer/tools/math/similarity/nominal/KulczynskiNominalSimilarity.java
+++ b/src/main/java/com/rapidminer/tools/math/similarity/nominal/KulczynskiNominalSimilarity.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/similarity/nominal/LevenshteinDistance.java b/src/main/java/com/rapidminer/tools/math/similarity/nominal/LevenshteinDistance.java
index c6f3133a7..9bc6e1ef1 100644
--- a/src/main/java/com/rapidminer/tools/math/similarity/nominal/LevenshteinDistance.java
+++ b/src/main/java/com/rapidminer/tools/math/similarity/nominal/LevenshteinDistance.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/similarity/nominal/NominalDistance.java b/src/main/java/com/rapidminer/tools/math/similarity/nominal/NominalDistance.java
index d8665c5fb..8f79c445b 100644
--- a/src/main/java/com/rapidminer/tools/math/similarity/nominal/NominalDistance.java
+++ b/src/main/java/com/rapidminer/tools/math/similarity/nominal/NominalDistance.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/similarity/nominal/RogersTanimotoNominalSimilarity.java b/src/main/java/com/rapidminer/tools/math/similarity/nominal/RogersTanimotoNominalSimilarity.java
index fd87ce473..82afae0dc 100644
--- a/src/main/java/com/rapidminer/tools/math/similarity/nominal/RogersTanimotoNominalSimilarity.java
+++ b/src/main/java/com/rapidminer/tools/math/similarity/nominal/RogersTanimotoNominalSimilarity.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/similarity/nominal/RussellRaoNominalSimilarity.java b/src/main/java/com/rapidminer/tools/math/similarity/nominal/RussellRaoNominalSimilarity.java
index a01551b19..45007a9c4 100644
--- a/src/main/java/com/rapidminer/tools/math/similarity/nominal/RussellRaoNominalSimilarity.java
+++ b/src/main/java/com/rapidminer/tools/math/similarity/nominal/RussellRaoNominalSimilarity.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/similarity/nominal/SimpleMatchingNominalSimilarity.java b/src/main/java/com/rapidminer/tools/math/similarity/nominal/SimpleMatchingNominalSimilarity.java
index 1ceada6a1..b2b45ce1a 100644
--- a/src/main/java/com/rapidminer/tools/math/similarity/nominal/SimpleMatchingNominalSimilarity.java
+++ b/src/main/java/com/rapidminer/tools/math/similarity/nominal/SimpleMatchingNominalSimilarity.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/similarity/numerical/CamberraNumericalDistance.java b/src/main/java/com/rapidminer/tools/math/similarity/numerical/CamberraNumericalDistance.java
index e75aa8708..4558bc3ae 100644
--- a/src/main/java/com/rapidminer/tools/math/similarity/numerical/CamberraNumericalDistance.java
+++ b/src/main/java/com/rapidminer/tools/math/similarity/numerical/CamberraNumericalDistance.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/similarity/numerical/ChebychevNumericalDistance.java b/src/main/java/com/rapidminer/tools/math/similarity/numerical/ChebychevNumericalDistance.java
index 0d27a25fe..c203f6671 100644
--- a/src/main/java/com/rapidminer/tools/math/similarity/numerical/ChebychevNumericalDistance.java
+++ b/src/main/java/com/rapidminer/tools/math/similarity/numerical/ChebychevNumericalDistance.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/similarity/numerical/CorrelationSimilarity.java b/src/main/java/com/rapidminer/tools/math/similarity/numerical/CorrelationSimilarity.java
index 93ff29dd7..78c14f098 100644
--- a/src/main/java/com/rapidminer/tools/math/similarity/numerical/CorrelationSimilarity.java
+++ b/src/main/java/com/rapidminer/tools/math/similarity/numerical/CorrelationSimilarity.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/similarity/numerical/CosineSimilarity.java b/src/main/java/com/rapidminer/tools/math/similarity/numerical/CosineSimilarity.java
index 6bce11b9c..c8914da77 100644
--- a/src/main/java/com/rapidminer/tools/math/similarity/numerical/CosineSimilarity.java
+++ b/src/main/java/com/rapidminer/tools/math/similarity/numerical/CosineSimilarity.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/similarity/numerical/DTWDistance.java b/src/main/java/com/rapidminer/tools/math/similarity/numerical/DTWDistance.java
index 8456f2ffa..c66298d10 100644
--- a/src/main/java/com/rapidminer/tools/math/similarity/numerical/DTWDistance.java
+++ b/src/main/java/com/rapidminer/tools/math/similarity/numerical/DTWDistance.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/similarity/numerical/DiceNumericalSimilarity.java b/src/main/java/com/rapidminer/tools/math/similarity/numerical/DiceNumericalSimilarity.java
index 44d9b34f7..5144dbd9b 100644
--- a/src/main/java/com/rapidminer/tools/math/similarity/numerical/DiceNumericalSimilarity.java
+++ b/src/main/java/com/rapidminer/tools/math/similarity/numerical/DiceNumericalSimilarity.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/similarity/numerical/EuclideanDistance.java b/src/main/java/com/rapidminer/tools/math/similarity/numerical/EuclideanDistance.java
index c58279bcb..deda770b3 100644
--- a/src/main/java/com/rapidminer/tools/math/similarity/numerical/EuclideanDistance.java
+++ b/src/main/java/com/rapidminer/tools/math/similarity/numerical/EuclideanDistance.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/similarity/numerical/InnerProductSimilarity.java b/src/main/java/com/rapidminer/tools/math/similarity/numerical/InnerProductSimilarity.java
index 745fc254a..135000bc7 100644
--- a/src/main/java/com/rapidminer/tools/math/similarity/numerical/InnerProductSimilarity.java
+++ b/src/main/java/com/rapidminer/tools/math/similarity/numerical/InnerProductSimilarity.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/similarity/numerical/JaccardNumericalSimilarity.java b/src/main/java/com/rapidminer/tools/math/similarity/numerical/JaccardNumericalSimilarity.java
index f03e8489d..d16273045 100644
--- a/src/main/java/com/rapidminer/tools/math/similarity/numerical/JaccardNumericalSimilarity.java
+++ b/src/main/java/com/rapidminer/tools/math/similarity/numerical/JaccardNumericalSimilarity.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/similarity/numerical/KernelEuclideanDistance.java b/src/main/java/com/rapidminer/tools/math/similarity/numerical/KernelEuclideanDistance.java
index 1864d3125..0d5a15563 100644
--- a/src/main/java/com/rapidminer/tools/math/similarity/numerical/KernelEuclideanDistance.java
+++ b/src/main/java/com/rapidminer/tools/math/similarity/numerical/KernelEuclideanDistance.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/similarity/numerical/ManhattanDistance.java b/src/main/java/com/rapidminer/tools/math/similarity/numerical/ManhattanDistance.java
index 4c81d522f..3c4972b34 100644
--- a/src/main/java/com/rapidminer/tools/math/similarity/numerical/ManhattanDistance.java
+++ b/src/main/java/com/rapidminer/tools/math/similarity/numerical/ManhattanDistance.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/similarity/numerical/MaxProductSimilarity.java b/src/main/java/com/rapidminer/tools/math/similarity/numerical/MaxProductSimilarity.java
index 9aa2eea38..85eb543f7 100644
--- a/src/main/java/com/rapidminer/tools/math/similarity/numerical/MaxProductSimilarity.java
+++ b/src/main/java/com/rapidminer/tools/math/similarity/numerical/MaxProductSimilarity.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/similarity/numerical/OverlapNumericalSimilarity.java b/src/main/java/com/rapidminer/tools/math/similarity/numerical/OverlapNumericalSimilarity.java
index 22ec87113..8e6ef9d91 100644
--- a/src/main/java/com/rapidminer/tools/math/similarity/numerical/OverlapNumericalSimilarity.java
+++ b/src/main/java/com/rapidminer/tools/math/similarity/numerical/OverlapNumericalSimilarity.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/smoothing/BisquareSmoothingKernel.java b/src/main/java/com/rapidminer/tools/math/smoothing/BisquareSmoothingKernel.java
index 45dc3e59e..b8909002c 100644
--- a/src/main/java/com/rapidminer/tools/math/smoothing/BisquareSmoothingKernel.java
+++ b/src/main/java/com/rapidminer/tools/math/smoothing/BisquareSmoothingKernel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/smoothing/EpanechnikovSmoothingKernel.java b/src/main/java/com/rapidminer/tools/math/smoothing/EpanechnikovSmoothingKernel.java
index c39d9ca45..681f1bf16 100644
--- a/src/main/java/com/rapidminer/tools/math/smoothing/EpanechnikovSmoothingKernel.java
+++ b/src/main/java/com/rapidminer/tools/math/smoothing/EpanechnikovSmoothingKernel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/smoothing/ExponentialSmoothingKernel.java b/src/main/java/com/rapidminer/tools/math/smoothing/ExponentialSmoothingKernel.java
index b2cee2244..277d54363 100644
--- a/src/main/java/com/rapidminer/tools/math/smoothing/ExponentialSmoothingKernel.java
+++ b/src/main/java/com/rapidminer/tools/math/smoothing/ExponentialSmoothingKernel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/smoothing/GaussianSmoothingKernel.java b/src/main/java/com/rapidminer/tools/math/smoothing/GaussianSmoothingKernel.java
index a36a05e89..54539b931 100644
--- a/src/main/java/com/rapidminer/tools/math/smoothing/GaussianSmoothingKernel.java
+++ b/src/main/java/com/rapidminer/tools/math/smoothing/GaussianSmoothingKernel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/smoothing/McLainSmoothingKernel.java b/src/main/java/com/rapidminer/tools/math/smoothing/McLainSmoothingKernel.java
index e56555222..a212d9ea3 100644
--- a/src/main/java/com/rapidminer/tools/math/smoothing/McLainSmoothingKernel.java
+++ b/src/main/java/com/rapidminer/tools/math/smoothing/McLainSmoothingKernel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/smoothing/RectangularSmoothingKernel.java b/src/main/java/com/rapidminer/tools/math/smoothing/RectangularSmoothingKernel.java
index 8f87bdc0c..0819498ff 100644
--- a/src/main/java/com/rapidminer/tools/math/smoothing/RectangularSmoothingKernel.java
+++ b/src/main/java/com/rapidminer/tools/math/smoothing/RectangularSmoothingKernel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/smoothing/SmoothingKernel.java b/src/main/java/com/rapidminer/tools/math/smoothing/SmoothingKernel.java
index 18372f2cf..0abb4fa88 100644
--- a/src/main/java/com/rapidminer/tools/math/smoothing/SmoothingKernel.java
+++ b/src/main/java/com/rapidminer/tools/math/smoothing/SmoothingKernel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/smoothing/SmoothingKernels.java b/src/main/java/com/rapidminer/tools/math/smoothing/SmoothingKernels.java
index fb1c4639f..326cd67bd 100644
--- a/src/main/java/com/rapidminer/tools/math/smoothing/SmoothingKernels.java
+++ b/src/main/java/com/rapidminer/tools/math/smoothing/SmoothingKernels.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/smoothing/TriangularSmoothingKernel.java b/src/main/java/com/rapidminer/tools/math/smoothing/TriangularSmoothingKernel.java
index 0996f9357..f1c8558d3 100644
--- a/src/main/java/com/rapidminer/tools/math/smoothing/TriangularSmoothingKernel.java
+++ b/src/main/java/com/rapidminer/tools/math/smoothing/TriangularSmoothingKernel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/smoothing/TricubeSmoothingKernel.java b/src/main/java/com/rapidminer/tools/math/smoothing/TricubeSmoothingKernel.java
index 171373729..1d49b45fb 100644
--- a/src/main/java/com/rapidminer/tools/math/smoothing/TricubeSmoothingKernel.java
+++ b/src/main/java/com/rapidminer/tools/math/smoothing/TricubeSmoothingKernel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/smoothing/TriweightSmoothingKernel.java b/src/main/java/com/rapidminer/tools/math/smoothing/TriweightSmoothingKernel.java
index f778744d0..fe3d10d42 100644
--- a/src/main/java/com/rapidminer/tools/math/smoothing/TriweightSmoothingKernel.java
+++ b/src/main/java/com/rapidminer/tools/math/smoothing/TriweightSmoothingKernel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/som/AdaptationFunction.java b/src/main/java/com/rapidminer/tools/math/som/AdaptationFunction.java
index eb9d4fec1..e5628b6c4 100644
--- a/src/main/java/com/rapidminer/tools/math/som/AdaptationFunction.java
+++ b/src/main/java/com/rapidminer/tools/math/som/AdaptationFunction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/som/DistanceFunction.java b/src/main/java/com/rapidminer/tools/math/som/DistanceFunction.java
index 229e8274f..4589a371b 100644
--- a/src/main/java/com/rapidminer/tools/math/som/DistanceFunction.java
+++ b/src/main/java/com/rapidminer/tools/math/som/DistanceFunction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/som/EuclideanDistance.java b/src/main/java/com/rapidminer/tools/math/som/EuclideanDistance.java
index a68759fdd..6b5b38b77 100644
--- a/src/main/java/com/rapidminer/tools/math/som/EuclideanDistance.java
+++ b/src/main/java/com/rapidminer/tools/math/som/EuclideanDistance.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/som/KohonenNet.java b/src/main/java/com/rapidminer/tools/math/som/KohonenNet.java
index e7bb630f3..d840e64e9 100644
--- a/src/main/java/com/rapidminer/tools/math/som/KohonenNet.java
+++ b/src/main/java/com/rapidminer/tools/math/som/KohonenNet.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/som/KohonenNode.java b/src/main/java/com/rapidminer/tools/math/som/KohonenNode.java
index f5ddf5a68..e3b48b9be 100644
--- a/src/main/java/com/rapidminer/tools/math/som/KohonenNode.java
+++ b/src/main/java/com/rapidminer/tools/math/som/KohonenNode.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/som/KohonenTrainingsData.java b/src/main/java/com/rapidminer/tools/math/som/KohonenTrainingsData.java
index 4ea3a4ee2..73ce283fe 100644
--- a/src/main/java/com/rapidminer/tools/math/som/KohonenTrainingsData.java
+++ b/src/main/java/com/rapidminer/tools/math/som/KohonenTrainingsData.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/som/ProgressListener.java b/src/main/java/com/rapidminer/tools/math/som/ProgressListener.java
index f11d380e0..e22f06cca 100644
--- a/src/main/java/com/rapidminer/tools/math/som/ProgressListener.java
+++ b/src/main/java/com/rapidminer/tools/math/som/ProgressListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/som/RandomDataContainer.java b/src/main/java/com/rapidminer/tools/math/som/RandomDataContainer.java
index 9749b5d3a..51a58520b 100644
--- a/src/main/java/com/rapidminer/tools/math/som/RandomDataContainer.java
+++ b/src/main/java/com/rapidminer/tools/math/som/RandomDataContainer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/math/som/RitterAdaptation.java b/src/main/java/com/rapidminer/tools/math/som/RitterAdaptation.java
index b900d5d34..378e57724 100644
--- a/src/main/java/com/rapidminer/tools/math/som/RitterAdaptation.java
+++ b/src/main/java/com/rapidminer/tools/math/som/RitterAdaptation.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/metadata/MetaDataTools.java b/src/main/java/com/rapidminer/tools/metadata/MetaDataTools.java
index 56346a088..9ef63aa8f 100644
--- a/src/main/java/com/rapidminer/tools/metadata/MetaDataTools.java
+++ b/src/main/java/com/rapidminer/tools/metadata/MetaDataTools.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/parameter/Parameter.java b/src/main/java/com/rapidminer/tools/parameter/Parameter.java
index 10821649b..0fff6f2a9 100644
--- a/src/main/java/com/rapidminer/tools/parameter/Parameter.java
+++ b/src/main/java/com/rapidminer/tools/parameter/Parameter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/parameter/ParameterChangeListener.java b/src/main/java/com/rapidminer/tools/parameter/ParameterChangeListener.java
index 6c86ab33e..548862f96 100644
--- a/src/main/java/com/rapidminer/tools/parameter/ParameterChangeListener.java
+++ b/src/main/java/com/rapidminer/tools/parameter/ParameterChangeListener.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/parameter/ParameterScope.java b/src/main/java/com/rapidminer/tools/parameter/ParameterScope.java
index 3c620450e..767be0d20 100644
--- a/src/main/java/com/rapidminer/tools/parameter/ParameterScope.java
+++ b/src/main/java/com/rapidminer/tools/parameter/ParameterScope.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/parameter/ParameterWriter.java b/src/main/java/com/rapidminer/tools/parameter/ParameterWriter.java
index ca7f2fb13..7835d47bd 100644
--- a/src/main/java/com/rapidminer/tools/parameter/ParameterWriter.java
+++ b/src/main/java/com/rapidminer/tools/parameter/ParameterWriter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/parameter/WindowsBatParameterWriter.java b/src/main/java/com/rapidminer/tools/parameter/WindowsBatParameterWriter.java
index 995580088..edd5c0b31 100644
--- a/src/main/java/com/rapidminer/tools/parameter/WindowsBatParameterWriter.java
+++ b/src/main/java/com/rapidminer/tools/parameter/WindowsBatParameterWriter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/parameter/WindowsExeParameterWriter.java b/src/main/java/com/rapidminer/tools/parameter/WindowsExeParameterWriter.java
index ccd724c1f..ed3fd1645 100644
--- a/src/main/java/com/rapidminer/tools/parameter/WindowsExeParameterWriter.java
+++ b/src/main/java/com/rapidminer/tools/parameter/WindowsExeParameterWriter.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/parameter/internal/DataManagementParameterHelper.java b/src/main/java/com/rapidminer/tools/parameter/internal/DataManagementParameterHelper.java
index 001fa7c21..c3fb8e018 100644
--- a/src/main/java/com/rapidminer/tools/parameter/internal/DataManagementParameterHelper.java
+++ b/src/main/java/com/rapidminer/tools/parameter/internal/DataManagementParameterHelper.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/patterns/Visitor.java b/src/main/java/com/rapidminer/tools/patterns/Visitor.java
index 6e823638e..468a20040 100644
--- a/src/main/java/com/rapidminer/tools/patterns/Visitor.java
+++ b/src/main/java/com/rapidminer/tools/patterns/Visitor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/plugin/AllPluginsClassLoader.java b/src/main/java/com/rapidminer/tools/plugin/AllPluginsClassLoader.java
index 57c0cecbe..350080bd0 100644
--- a/src/main/java/com/rapidminer/tools/plugin/AllPluginsClassLoader.java
+++ b/src/main/java/com/rapidminer/tools/plugin/AllPluginsClassLoader.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/plugin/Dependency.java b/src/main/java/com/rapidminer/tools/plugin/Dependency.java
index b87411e90..11a9224bc 100644
--- a/src/main/java/com/rapidminer/tools/plugin/Dependency.java
+++ b/src/main/java/com/rapidminer/tools/plugin/Dependency.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/plugin/ManagedExtension.java b/src/main/java/com/rapidminer/tools/plugin/ManagedExtension.java
index a98838d87..9c8921216 100644
--- a/src/main/java/com/rapidminer/tools/plugin/ManagedExtension.java
+++ b/src/main/java/com/rapidminer/tools/plugin/ManagedExtension.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -127,7 +127,7 @@ public String getName() {
}
private File findFile() {
- return findFile(selectedVersion.getShortLongVersion());
+ return findFile(getSelectedShortLongVersion());
}
private File findFile(String version) {
@@ -172,13 +172,17 @@ public static File getUserExtensionsDir() {
return FileSystemService.getUserConfigFile("managed");
}
+ private String getSelectedShortLongVersion() {
+ return selectedVersion == null ? null : selectedVersion.getShortLongVersion();
+ }
+
private Element toXML(Document doc) {
Element result = doc.createElement("extension");
XMLTools.setTagContents(result, "id", packageID);
XMLTools.setTagContents(result, "name", name);
XMLTools.setTagContents(result, "active", "" + active);
XMLTools.setTagContents(result, "license", license);
- XMLTools.setTagContents(result, "selected-version", selectedVersion.getShortLongVersion());
+ XMLTools.setTagContents(result, "selected-version", getSelectedShortLongVersion());
for (VersionNumber v : installedVersions) {
Element elem = doc.createElement("installed-version");
result.appendChild(elem);
diff --git a/src/main/java/com/rapidminer/tools/plugin/Plugin.java b/src/main/java/com/rapidminer/tools/plugin/Plugin.java
index 1f6025335..952e9906b 100644
--- a/src/main/java/com/rapidminer/tools/plugin/Plugin.java
+++ b/src/main/java/com/rapidminer/tools/plugin/Plugin.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -59,7 +59,6 @@
import java.util.jar.JarFile;
import java.util.jar.Manifest;
import java.util.logging.Level;
-
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.xml.bind.DatatypeConverter;
diff --git a/src/main/java/com/rapidminer/tools/plugin/PluginClassLoader.java b/src/main/java/com/rapidminer/tools/plugin/PluginClassLoader.java
index 1459390d0..4d804529a 100644
--- a/src/main/java/com/rapidminer/tools/plugin/PluginClassLoader.java
+++ b/src/main/java/com/rapidminer/tools/plugin/PluginClassLoader.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/plugin/PluginException.java b/src/main/java/com/rapidminer/tools/plugin/PluginException.java
index 9dc1a1479..fe2a704b7 100644
--- a/src/main/java/com/rapidminer/tools/plugin/PluginException.java
+++ b/src/main/java/com/rapidminer/tools/plugin/PluginException.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/update/internal/UpdateManager.java b/src/main/java/com/rapidminer/tools/update/internal/UpdateManager.java
index 653b9a22a..8acf59939 100644
--- a/src/main/java/com/rapidminer/tools/update/internal/UpdateManager.java
+++ b/src/main/java/com/rapidminer/tools/update/internal/UpdateManager.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/update/internal/UpdateManagerFactory.java b/src/main/java/com/rapidminer/tools/update/internal/UpdateManagerFactory.java
index 78a2df070..0e5717c40 100644
--- a/src/main/java/com/rapidminer/tools/update/internal/UpdateManagerFactory.java
+++ b/src/main/java/com/rapidminer/tools/update/internal/UpdateManagerFactory.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/update/internal/UpdateManagerRegistry.java b/src/main/java/com/rapidminer/tools/update/internal/UpdateManagerRegistry.java
index 71ce53c1e..8965e11e0 100644
--- a/src/main/java/com/rapidminer/tools/update/internal/UpdateManagerRegistry.java
+++ b/src/main/java/com/rapidminer/tools/update/internal/UpdateManagerRegistry.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/usagestats/ActionStatisticsCollector.java b/src/main/java/com/rapidminer/tools/usagestats/ActionStatisticsCollector.java
index 57be7a35f..4d5d720bc 100644
--- a/src/main/java/com/rapidminer/tools/usagestats/ActionStatisticsCollector.java
+++ b/src/main/java/com/rapidminer/tools/usagestats/ActionStatisticsCollector.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -37,12 +37,9 @@
import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;
-
import javax.swing.AbstractButton;
import javax.swing.Action;
-import javax.swing.JPasswordField;
import javax.swing.JToggleButton;
-import javax.swing.text.JTextComponent;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
@@ -55,6 +52,7 @@
import com.rapidminer.gui.RapidMinerGUI;
import com.rapidminer.gui.tools.ResourceAction;
import com.rapidminer.gui.tools.components.AbstractLinkButton;
+import com.rapidminer.io.process.AutoModelProcessXMLFilter;
import com.rapidminer.io.process.XMLTools;
import com.rapidminer.operator.IOObject;
import com.rapidminer.operator.Operator;
@@ -63,6 +61,7 @@
import com.rapidminer.operator.ports.InputPort;
import com.rapidminer.operator.ports.OutputPort;
import com.rapidminer.operator.ports.Port;
+import com.rapidminer.repository.search.RepositoryGlobalSearch;
import com.rapidminer.tools.XMLException;
import com.rapidminer.tools.container.Pair;
@@ -200,7 +199,18 @@ public enum ActionStatisticsCollector {
public static final String ARG_CTA_LIMIT_DECREASED_TIMEFRAME = "decreased_timeframe";
public static final String VALUE_MODE = "mode";
public static final String VALUE_CONSTANT_START = "start";
-
+
+ /** introduced in 8.1 for the new Global Search */
+ private static final String TYPE_GLOBAL_SEARCH = "global_search";
+ public static final String VALUE_TIMEOUT = "timeout";
+ public static final String VALUE_FOCUS_LOST = "focus_lost";
+ public static final String VALUE_ACTION = "action";
+ public static final String ARG_GLOBAL_SEARCH_SPACER = "|";
+ public static final String ARG_GLOBAL_SEARCH_CATEGORY_ALL = "all";
+ /** introduced in 8.1 */
+ public static final String PREFIX_TYPE_AUTOMODEL_GENERATED = "am_gen_";
+ public static final String PREFIX_TYPE_AUTOMODEL_EXPORTED = "am_exp_";
+
/** conversion constant for bytes to megabytes */
private static final int BYTE_TO_MB = 1024 * 1024;
@@ -210,6 +220,51 @@ public enum ActionStatisticsCollector {
private static final boolean DISABLED = RapidMiner.getExecutionMode().isHeadless()
&& RapidMiner.getExecutionMode() != RapidMiner.ExecutionMode.COMMAND_LINE;
+
+ /**
+ * Log usage of the global search.
+ *
+ * @param value
+ * one of timeout or focus_lost
+ * @param searchTerm
+ * the term that lead to this result
+ * @param categoryId
+ * the category that was searched
+ * @param numResults
+ * the potential amount of hits
+ * @since 8.1
+ */
+ public void logGlobalSearch(String value, String searchTerm, String categoryId, long numResults) {
+ StringBuilder arg = new StringBuilder();
+ arg.append(searchTerm).append(ARG_GLOBAL_SEARCH_SPACER);
+ arg.append(categoryId).append(ARG_GLOBAL_SEARCH_SPACER);
+ arg.append(numResults);
+ log(TYPE_GLOBAL_SEARCH, value, arg.toString());
+ }
+
+ /**
+ * Log actions executed through global search.
+ *
+ * @param searchTerm
+ * the search executed to run the action
+ * @param categoryId
+ * the category that was searched
+ * @param chosenItemIdentifier
+ * name of the item the user picked
+ * @since 8.1
+ */
+ public void logGlobalSearchAction(String searchTerm, String categoryId, String chosenItemIdentifier) {
+ String myChosenItem = chosenItemIdentifier;
+ if (RepositoryGlobalSearch.CATEGORY_ID.equalsIgnoreCase(categoryId)) {
+ myChosenItem = "";
+ }
+ StringBuilder arg = new StringBuilder();
+ arg.append(searchTerm).append(ARG_GLOBAL_SEARCH_SPACER);
+ arg.append(categoryId).append(ARG_GLOBAL_SEARCH_SPACER);
+ arg.append(myChosenItem);
+ log(TYPE_GLOBAL_SEARCH, VALUE_ACTION, arg.toString());
+ }
+
/**
* A Key defines an identifier that is used to store some collected usage data associated with it. It has 3 levels,
* TYPE, VALUE and ARG, where ARG may be null.
@@ -279,7 +334,7 @@ private static Pair fromArgWithIndicators(String a
}
AggregationIndicator(String name, BiFunction dataCombiner,
- Function dataTransformer) {
+ Function dataTransformer) {
this.name = name;
this.dataCombiner = dataCombiner;
this.dataTransformer = dataTransformer;
@@ -330,7 +385,7 @@ private static Pair, String> fromArgWithIndicators(String ar
} else {
Set labelIndicators = EnumSet.noneOf(LabelIndicator.class);
LabelIndicator[] lis = LabelIndicator.values();
- for (int i = lis.length - 1; i >= 0; -- i) {
+ for (int i = lis.length - 1; i >= 0; --i) {
if (argWithIndicators.endsWith(lis[i].toString())) {
labelIndicators.add(lis[i]);
argWithIndicators = argWithIndicators.substring(0, argWithIndicators.length() - lis[i].toString().length());
@@ -386,12 +441,12 @@ public Key(String type, String value, String arg, Set labelIndic
}
public Key(String type, String value, String arg, Set labelIndicators,
- AggregationIndicator aggregationIndicator) {
+ AggregationIndicator aggregationIndicator) {
this.type = type;
this.value = value;
this.arg = arg;
this.labelIndicators = labelIndicators == null ? EnumSet.noneOf(LabelIndicator.class) : labelIndicators;
- this.aggregationIndicator = aggregationIndicator == null ? AggregationIndicator.SUM: aggregationIndicator;
+ this.aggregationIndicator = aggregationIndicator == null ? AggregationIndicator.SUM : aggregationIndicator;
argWithIndicators = computeArgWithIndicators();
}
@@ -642,7 +697,7 @@ public void processFinishedOperator(Process process, Operator op) {
}
// log the memory volume used
- logMemory();
+ logMemory(process);
}
@Override
@@ -691,38 +746,38 @@ protected void start() {
RapidMinerGUI.getMainFrame().getDockingDesktop().addDockableStateChangeListener(e ->
log(TYPE_DOCKABLE, e.getNewState().getDockable().getDockKey().getKey(),
- e.getNewState().getLocation().toString())
+ e.getNewState().getLocation().toString())
);
}
/**
* Logs an {@link ActionEvent} to statistics, with the detailed circumstances of the event.
- *
+ *
* @param action
* @param actionEvent
*/
public void logAction(Action action, ActionEvent actionEvent) {
- String actionCommand = actionEvent.getActionCommand();
- if (actionCommand != null) {
- Object source = actionEvent.getSource();
- StringBuilder arg = new StringBuilder(source.getClass().getName());
- arg.append("|");
- arg.append(actionCommand);
- if (source instanceof AbstractButton) {
- arg.append("|");
- arg.append(((AbstractButton) source).getText());
- arg.append("|");
- arg.append(((AbstractButton) source).isSelected());
- } else if (source instanceof JTextComponent && !(source instanceof JPasswordField)) {
- arg.append("|");
- arg.append(((JTextComponent) source).getText());
- }
- if (action instanceof ResourceAction) {
- log(TYPE_RESOURCE_ACTION, ((ResourceAction) action).getKey(), arg.toString());
- } else {
- log(TYPE_SIMPLE_ACTION, (String) action.getValue(Action.NAME), arg.toString());
+ StringBuilder arg = new StringBuilder();
+ if (actionEvent != null) {
+ String actionCommand = actionEvent.getActionCommand();
+ if (actionCommand != null) {
+ Object source = actionEvent.getSource();
+ if (source != null) {
+ arg.append(source.getClass().getName());
+ arg.append("|");
+ arg.append(actionCommand);
+ if (source instanceof AbstractButton) {
+ arg.append("|");
+ arg.append(((AbstractButton) source).isSelected());
+ }
+ }
}
}
+ if (action instanceof ResourceAction) {
+ log(TYPE_RESOURCE_ACTION, ((ResourceAction) action).getKey(), arg.toString());
+ } else if (action.getValue(Action.NAME) != null) {
+ log(TYPE_SIMPLE_ACTION, String.valueOf(action.getValue(Action.NAME)), arg.toString());
+ }
}
private void logAction(Object component) {
@@ -755,6 +810,25 @@ private void logAction(Object component) {
}
}
+ private static String prefixAutoModelUsage(Operator operator) {
+ if (operator == null) {
+ return "";
+ }
+
+ AutoModelProcessXMLFilter.AutoModelState autoModelState = AutoModelProcessXMLFilter.getAutoModelState(operator);
+ if (autoModelState == null) {
+ return "";
+ }
+ switch (autoModelState) {
+ case GENERATED:
+ return PREFIX_TYPE_AUTOMODEL_GENERATED;
+ case EXPORTED:
+ return PREFIX_TYPE_AUTOMODEL_EXPORTED;
+ default:
+ return "";
+ }
+ }
+
/**
* Logs the operator execution event and adds the {@link ProcessListener} logging the operator
* volumes.
@@ -766,50 +840,62 @@ public void logExecution(Process process) {
if (process == null) {
return;
}
+
+ String autoModelPrefix = prefixAutoModelUsage(process.getRootOperator());
+
// add listener for operator port volume logging
process.getRootOperator().addProcessListener(operatorVolumeListener);
List allInnerOperators = process.getRootOperator().getAllInnerOperators();
int size = 0;
for (Operator op : allInnerOperators) {
if (op.isEnabled()) {
- log(TYPE_OPERATOR, op.getOperatorDescription().getKey(), OPERATOR_EVENT_EXECUTION);
- ++ size;
+ log(op, OPERATOR_EVENT_EXECUTION);
+ ++size;
}
}
- log(TYPE_PROCESS, VALUE_OPERATOR_COUNT, Integer.toString(size));
- startTimer(process, TYPE_PROCESS, VALUE_EXECUTION, ARG_RUNTIME);
+ log(autoModelPrefix + TYPE_PROCESS, VALUE_OPERATOR_COUNT, Integer.toString(size));
+ startTimer(process, autoModelPrefix + TYPE_PROCESS, VALUE_EXECUTION, ARG_RUNTIME);
}
/**
* Logs process execution success
*/
- public void logExecutionSuccess() {
- log(TYPE_PROCESS, VALUE_EXECUTION, ARG_SUCCESS);
+ public void logExecutionSuccess(Process process) {
+ String autoModelPrefix = prefixAutoModelUsage(process.getRootOperator());
+
+ log(autoModelPrefix + TYPE_PROCESS, VALUE_EXECUTION, ARG_SUCCESS);
}
/**
* Logs process execution start
*/
- public void logExecutionStarted() {
- log(TYPE_PROCESS, VALUE_EXECUTION, ARG_STARTED);
+ public void logExecutionStarted(Process process) {
+ String autoModelPrefix = prefixAutoModelUsage(process.getRootOperator());
+
+ log(autoModelPrefix + TYPE_PROCESS, VALUE_EXECUTION, ARG_STARTED);
}
/**
* Logs the details of the exception thrown during process execution.
* The argument holds all information about the exception, i.e. related operator,
* error name, stacktrace.
- *
+ *
* @param process
* The process being executed when the exception was thrown.
* @param e
* The exception to be logged.
*/
public void logExecutionException(Process process, Exception e) {
+ String autoModelPrefix = prefixAutoModelUsage(process.getRootOperator());
+
if (e instanceof ProcessStoppedException) {
- log(TYPE_PROCESS, VALUE_EXECUTION, ARG_STOPPED);
- } else {
- log(TYPE_PROCESS, VALUE_EXECUTION, ARG_FAILED);
- StringBuilder exception = new StringBuilder(process.getCurrentOperator().getOperatorDescription().getKey());
+ log(autoModelPrefix + TYPE_PROCESS, VALUE_EXECUTION, ARG_STOPPED);
+ } else {
+ log(autoModelPrefix + TYPE_PROCESS, VALUE_EXECUTION, ARG_FAILED);
+ StringBuilder exception = new StringBuilder();
+ if (process.getCurrentOperator() != null) {
+ exception.append(process.getCurrentOperator().getOperatorDescription().getKey());
+ }
if (e instanceof UserError) {
UserError ue = (UserError) e;
exception.append("|ue|");
@@ -819,11 +905,11 @@ public void logExecutionException(Process process, Exception e) {
exception.append("|");
} else {
exception.append("|ex|");
- exception.append(e.toString());
+ exception.append(e.getClass());
exception.append("||");
}
exception.append(getExceptionStackTraceAsString(e));
- log(TYPE_PROCESS, VALUE_EXCEPTION, exception.toString());
+ log(autoModelPrefix + TYPE_PROCESS, VALUE_EXCEPTION, exception.toString());
}
}
@@ -889,7 +975,9 @@ public void logCtaRuleTriggered(String ruleID, String result) {
* the columns of the example set at the port
*/
private void logInputVolume(Operator operator, InputPort port, int rows, int columns) {
- logVolume(TYPE_INPUT_VOLUME, operator, port, rows, columns);
+ String autoModelPrefix = prefixAutoModelUsage(operator);
+
+ logVolume(autoModelPrefix + TYPE_INPUT_VOLUME, operator, port, rows, columns);
}
/**
@@ -906,14 +994,18 @@ private void logInputVolume(Operator operator, InputPort port, int rows, int col
* the columns of the example set at the port
*/
private void logOutputVolume(Operator operator, OutputPort port, int rows, int columns) {
- logVolume(TYPE_OUTPUT_VOLUME, operator, port, rows, columns);
+ String autoModelPrefix = prefixAutoModelUsage(operator);
+
+ logVolume(autoModelPrefix + TYPE_OUTPUT_VOLUME, operator, port, rows, columns);
}
public void log(Operator op, String event) {
if (op == null) {
return;
}
- log(TYPE_OPERATOR, op.getOperatorDescription().getKey(), event);
+ String autoModelPrefix = prefixAutoModelUsage(op);
+
+ log(autoModelPrefix + TYPE_OPERATOR, op.getOperatorDescription().getKey(), event);
}
/** Adds 1 to the aggregated value */
@@ -931,15 +1023,19 @@ public void log(String type, String value, String arg) {
* the execution time (in milliseconds) to log
*/
private void logOperatorExecutionTime(Operator operator, long executionTime) {
- logCountSumMinMax(TYPE_OPERATOR, operator.getOperatorDescription().getKey(), OPERATOR_RUNTIME, executionTime);
+ String autoModelPrefix = prefixAutoModelUsage(operator);
+
+ logCountSumMinMax(autoModelPrefix + TYPE_OPERATOR, operator.getOperatorDescription().getKey(), OPERATOR_RUNTIME, executionTime);
}
/**
* Logs sum, max and count of the total memory currently used.
*/
- private void logMemory() {
+ private void logMemory(Process process) {
+ String autoModelPrefix = prefixAutoModelUsage(process.getRootOperator());
+
long totalSize = Runtime.getRuntime().totalMemory() / BYTE_TO_MB;
- Key key = new Key(TYPE_MEMORY, MEMORY_USED, MEMORY_ARG);
+ Key key = new Key(autoModelPrefix + TYPE_MEMORY, MEMORY_USED, MEMORY_ARG);
log(key, totalSize);
logMax(key, totalSize);
logCount(key, totalSize);
diff --git a/src/main/java/com/rapidminer/tools/usagestats/ActionStatisticsTable.java b/src/main/java/com/rapidminer/tools/usagestats/ActionStatisticsTable.java
index 95ecc568b..47190a8b9 100644
--- a/src/main/java/com/rapidminer/tools/usagestats/ActionStatisticsTable.java
+++ b/src/main/java/com/rapidminer/tools/usagestats/ActionStatisticsTable.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/usagestats/CallToActionScheduler.java b/src/main/java/com/rapidminer/tools/usagestats/CallToActionScheduler.java
index bdbd554ff..0802f7b25 100644
--- a/src/main/java/com/rapidminer/tools/usagestats/CallToActionScheduler.java
+++ b/src/main/java/com/rapidminer/tools/usagestats/CallToActionScheduler.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/usagestats/CtaDao.java b/src/main/java/com/rapidminer/tools/usagestats/CtaDao.java
index 08f9f0c7c..3a6076416 100644
--- a/src/main/java/com/rapidminer/tools/usagestats/CtaDao.java
+++ b/src/main/java/com/rapidminer/tools/usagestats/CtaDao.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/usagestats/CtaDataSource.java b/src/main/java/com/rapidminer/tools/usagestats/CtaDataSource.java
index d10d7c8ef..e8d5aa667 100644
--- a/src/main/java/com/rapidminer/tools/usagestats/CtaDataSource.java
+++ b/src/main/java/com/rapidminer/tools/usagestats/CtaDataSource.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/usagestats/CtaEventAggregator.java b/src/main/java/com/rapidminer/tools/usagestats/CtaEventAggregator.java
index 3f3867d51..967624676 100644
--- a/src/main/java/com/rapidminer/tools/usagestats/CtaEventAggregator.java
+++ b/src/main/java/com/rapidminer/tools/usagestats/CtaEventAggregator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -113,6 +113,10 @@ boolean matchesKey(Key key) {
// the argument of logged exceptions are too long and irrelevant
new BlackListItem(new Key(ActionStatisticsCollector.TYPE_PROCESS, ActionStatisticsCollector.VALUE_EXCEPTION,
null), true, true, false),
+ new BlackListItem(new Key(ActionStatisticsCollector.PREFIX_TYPE_AUTOMODEL_GENERATED + ActionStatisticsCollector.TYPE_PROCESS, ActionStatisticsCollector.VALUE_EXCEPTION,
+ null), true, true, false),
+ new BlackListItem(new Key(ActionStatisticsCollector.PREFIX_TYPE_AUTOMODEL_EXPORTED + ActionStatisticsCollector.TYPE_PROCESS, ActionStatisticsCollector.VALUE_EXCEPTION,
+ null), true, true, false),
// progress-thread typed logs are irrelevant
new BlackListItem(new Key(ActionStatisticsCollector.TYPE_PROGRESS_THREAD, null,
null), true, false, false),
diff --git a/src/main/java/com/rapidminer/tools/usagestats/LocalRuleProvider.java b/src/main/java/com/rapidminer/tools/usagestats/LocalRuleProvider.java
index 5615ea1c8..33e68b6a1 100644
--- a/src/main/java/com/rapidminer/tools/usagestats/LocalRuleProvider.java
+++ b/src/main/java/com/rapidminer/tools/usagestats/LocalRuleProvider.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/usagestats/RemoteRuleProvider.java b/src/main/java/com/rapidminer/tools/usagestats/RemoteRuleProvider.java
index 3db7f63fd..c234e6f3e 100644
--- a/src/main/java/com/rapidminer/tools/usagestats/RemoteRuleProvider.java
+++ b/src/main/java/com/rapidminer/tools/usagestats/RemoteRuleProvider.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/usagestats/Rule.java b/src/main/java/com/rapidminer/tools/usagestats/Rule.java
index 0a752bd4f..603ad7534 100644
--- a/src/main/java/com/rapidminer/tools/usagestats/Rule.java
+++ b/src/main/java/com/rapidminer/tools/usagestats/Rule.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/usagestats/RuleService.java b/src/main/java/com/rapidminer/tools/usagestats/RuleService.java
index 71e3ca4b1..ca687fb75 100644
--- a/src/main/java/com/rapidminer/tools/usagestats/RuleService.java
+++ b/src/main/java/com/rapidminer/tools/usagestats/RuleService.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/usagestats/UsageStatistics.java b/src/main/java/com/rapidminer/tools/usagestats/UsageStatistics.java
index ebc222c63..02cd0f5a0 100644
--- a/src/main/java/com/rapidminer/tools/usagestats/UsageStatistics.java
+++ b/src/main/java/com/rapidminer/tools/usagestats/UsageStatistics.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -34,7 +34,6 @@
import java.util.Date;
import java.util.Random;
import java.util.logging.Level;
-
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
@@ -119,7 +118,7 @@ private void load() {
try {
LogService.getRoot().log(Level.CONFIG,
"com.rapidminer.gui.tools.usagestats.UsageStatistics.loading_operator_statistics");
- Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(file);
+ Document doc = XMLTools.createDocumentBuilder().parse(file);
Element root = doc.getDocumentElement();
String lastResetString = root.getAttribute("last-reset");
Date lastReset = parseDate(lastResetString);
diff --git a/src/main/java/com/rapidminer/tools/usagestats/UsageStatsScheduler.java b/src/main/java/com/rapidminer/tools/usagestats/UsageStatsScheduler.java
index 4d7ad14ed..0e0075bf6 100644
--- a/src/main/java/com/rapidminer/tools/usagestats/UsageStatsScheduler.java
+++ b/src/main/java/com/rapidminer/tools/usagestats/UsageStatsScheduler.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -193,6 +193,7 @@ static void scheduleTransmission(UsageStatistics.Reason reason, boolean reschedu
stopTimer();
timerDate = timeToFire;
timer = new Timer("UsageStatTimer", true);
+ UsageStatistics.getInstance().setNextTransmission(timeToFire);
timer.schedule(new TimerTask() {
@Override
@@ -201,7 +202,6 @@ public void run() {
}
}, timerDate);
- UsageStatistics.getInstance().setNextTransmission(timeToFire);
}
}
@@ -219,6 +219,9 @@ public static void transmitOnShutdown() {
stopTimer();
if (shouldTransmitOnShutdown()) {
+ if (UsageStatistics.getInstance().getNextTransmission() == null) {
+ UsageStatistics.getInstance().setNextTransmission(getTransmissionDate(UsageStatistics.Reason.SHUTDOWN));
+ }
transmit(UsageStatistics.Reason.SHUTDOWN, true);
UsageStatistics.getInstance().save();
}
diff --git a/src/main/java/com/rapidminer/tools/usagestats/UsageStatsTransmissionDialog.java b/src/main/java/com/rapidminer/tools/usagestats/UsageStatsTransmissionDialog.java
index c2f41c6e0..96001d8e5 100644
--- a/src/main/java/com/rapidminer/tools/usagestats/UsageStatsTransmissionDialog.java
+++ b/src/main/java/com/rapidminer/tools/usagestats/UsageStatsTransmissionDialog.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/usagestats/VerifiableRule.java b/src/main/java/com/rapidminer/tools/usagestats/VerifiableRule.java
index 953895da5..1d7a56233 100644
--- a/src/main/java/com/rapidminer/tools/usagestats/VerifiableRule.java
+++ b/src/main/java/com/rapidminer/tools/usagestats/VerifiableRule.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/xml/MapBasedNamespaceContext.java b/src/main/java/com/rapidminer/tools/xml/MapBasedNamespaceContext.java
index 3d6d3d294..eff6339bd 100644
--- a/src/main/java/com/rapidminer/tools/xml/MapBasedNamespaceContext.java
+++ b/src/main/java/com/rapidminer/tools/xml/MapBasedNamespaceContext.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tools/xml/XHTMLEntityResolver.java b/src/main/java/com/rapidminer/tools/xml/XHTMLEntityResolver.java
index a49b98c29..8df726be3 100644
--- a/src/main/java/com/rapidminer/tools/xml/XHTMLEntityResolver.java
+++ b/src/main/java/com/rapidminer/tools/xml/XHTMLEntityResolver.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tutorial/Tutorial.java b/src/main/java/com/rapidminer/tutorial/Tutorial.java
index 6a2012904..a600a2872 100644
--- a/src/main/java/com/rapidminer/tutorial/Tutorial.java
+++ b/src/main/java/com/rapidminer/tutorial/Tutorial.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tutorial/TutorialGroup.java b/src/main/java/com/rapidminer/tutorial/TutorialGroup.java
index 30431c981..ce1ee5c2e 100644
--- a/src/main/java/com/rapidminer/tutorial/TutorialGroup.java
+++ b/src/main/java/com/rapidminer/tutorial/TutorialGroup.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tutorial/TutorialManager.java b/src/main/java/com/rapidminer/tutorial/TutorialManager.java
index 5da31e778..849f9f946 100644
--- a/src/main/java/com/rapidminer/tutorial/TutorialManager.java
+++ b/src/main/java/com/rapidminer/tutorial/TutorialManager.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tutorial/TutorialRegistry.java b/src/main/java/com/rapidminer/tutorial/TutorialRegistry.java
index 4abafb03b..68ae54cbe 100644
--- a/src/main/java/com/rapidminer/tutorial/TutorialRegistry.java
+++ b/src/main/java/com/rapidminer/tutorial/TutorialRegistry.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/com/rapidminer/tutorial/gui/TutorialBrowser.java b/src/main/java/com/rapidminer/tutorial/gui/TutorialBrowser.java
index 1d2fc5d3e..24af712a5 100644
--- a/src/main/java/com/rapidminer/tutorial/gui/TutorialBrowser.java
+++ b/src/main/java/com/rapidminer/tutorial/gui/TutorialBrowser.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
@@ -38,7 +38,6 @@
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
-
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JEditorPane;
@@ -52,7 +51,6 @@
import javax.swing.text.Document;
import javax.swing.text.html.HTMLEditorKit;
import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
@@ -67,6 +65,7 @@
import org.xml.sax.InputSource;
import com.rapidminer.Process;
+import com.rapidminer.gui.DockableMenu;
import com.rapidminer.gui.MainFrame;
import com.rapidminer.gui.RapidMinerGUI;
import com.rapidminer.gui.look.Colors;
@@ -77,6 +76,7 @@
import com.rapidminer.gui.tools.ResourceDockKey;
import com.rapidminer.gui.tools.SwingTools;
import com.rapidminer.gui.tools.components.LinkLocalButton;
+import com.rapidminer.io.process.XMLTools;
import com.rapidminer.repository.MalformedRepositoryLocationException;
import com.rapidminer.studio.internal.NoStartupDialogRegistreredException;
import com.rapidminer.studio.internal.StartupDialogProvider.ToolbarButton;
@@ -111,6 +111,7 @@ public class TutorialBrowser extends JPanel implements Dockable {
{
DOCK_KEY.setDockGroup(MainFrame.DOCK_GROUP_ROOT);
+ DockableMenu.registerHideInDockableMenuPrefix(TUTORIAL_BROWSER_DOCK_KEY);
}
public static final RelativeDockablePosition POSITION = new RelativeDockablePosition(0, 1, 0.15, 1);
@@ -399,8 +400,7 @@ public void run() {
}
final List steps = new ArrayList<>();
- DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
- DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
+ DocumentBuilder dBuilder = XMLTools.createDocumentBuilder();
org.w3c.dom.Document doc = dBuilder.parse(new InputSource(stepFileStream));
doc.getDocumentElement().normalize();
diff --git a/src/main/java/com/rapidminer/tutorial/gui/TutorialSelector.java b/src/main/java/com/rapidminer/tutorial/gui/TutorialSelector.java
index 235882e9e..7a379fffe 100644
--- a/src/main/java/com/rapidminer/tutorial/gui/TutorialSelector.java
+++ b/src/main/java/com/rapidminer/tutorial/gui/TutorialSelector.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/de/dfki/madm/operator/ClusteringAlgorithms.java b/src/main/java/de/dfki/madm/operator/ClusteringAlgorithms.java
index bd258ad8c..d7bbdc48b 100644
--- a/src/main/java/de/dfki/madm/operator/ClusteringAlgorithms.java
+++ b/src/main/java/de/dfki/madm/operator/ClusteringAlgorithms.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/de/dfki/madm/operator/KMeanspp.java b/src/main/java/de/dfki/madm/operator/KMeanspp.java
index 962d14cea..514eef0fc 100644
--- a/src/main/java/de/dfki/madm/operator/KMeanspp.java
+++ b/src/main/java/de/dfki/madm/operator/KMeanspp.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/de/dfki/madm/operator/clustering/XMeansCore.java b/src/main/java/de/dfki/madm/operator/clustering/XMeansCore.java
index 6c1591b19..08f77194b 100644
--- a/src/main/java/de/dfki/madm/operator/clustering/XMeansCore.java
+++ b/src/main/java/de/dfki/madm/operator/clustering/XMeansCore.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/de/dfki/madm/paren/gui/renderer/models/AutoMLPImprovedNeuralNetModelRenderer.java b/src/main/java/de/dfki/madm/paren/gui/renderer/models/AutoMLPImprovedNeuralNetModelRenderer.java
index 6aeae7de1..365090f14 100644
--- a/src/main/java/de/dfki/madm/paren/gui/renderer/models/AutoMLPImprovedNeuralNetModelRenderer.java
+++ b/src/main/java/de/dfki/madm/paren/gui/renderer/models/AutoMLPImprovedNeuralNetModelRenderer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/de/dfki/madm/paren/operator/learner/functions/neuralnet/AutoMLPImprovedNeuralNetLearner.java b/src/main/java/de/dfki/madm/paren/operator/learner/functions/neuralnet/AutoMLPImprovedNeuralNetLearner.java
index 82acd0055..d07ab4368 100644
--- a/src/main/java/de/dfki/madm/paren/operator/learner/functions/neuralnet/AutoMLPImprovedNeuralNetLearner.java
+++ b/src/main/java/de/dfki/madm/paren/operator/learner/functions/neuralnet/AutoMLPImprovedNeuralNetLearner.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/de/dfki/madm/paren/operator/learner/functions/neuralnet/AutoMLPImprovedNeuralNetModel.java b/src/main/java/de/dfki/madm/paren/operator/learner/functions/neuralnet/AutoMLPImprovedNeuralNetModel.java
index 203022fa2..79bad7a86 100644
--- a/src/main/java/de/dfki/madm/paren/operator/learner/functions/neuralnet/AutoMLPImprovedNeuralNetModel.java
+++ b/src/main/java/de/dfki/madm/paren/operator/learner/functions/neuralnet/AutoMLPImprovedNeuralNetModel.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/java/de/dfki/madm/paren/operator/learner/functions/neuralnet/AutoMLPImprovedNeuralNetVisualizer.java b/src/main/java/de/dfki/madm/paren/operator/learner/functions/neuralnet/AutoMLPImprovedNeuralNetVisualizer.java
index 80cd1d7b7..9dd4defcc 100644
--- a/src/main/java/de/dfki/madm/paren/operator/learner/functions/neuralnet/AutoMLPImprovedNeuralNetVisualizer.java
+++ b/src/main/java/de/dfki/madm/paren/operator/learner/functions/neuralnet/AutoMLPImprovedNeuralNetVisualizer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2001-2017 by RapidMiner and the contributors
+ * Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
diff --git a/src/main/resources/com/rapidminer/resources/OperatorsCore.xml b/src/main/resources/com/rapidminer/resources/OperatorsCore.xml
index 6f3efe37f..96add5634 100644
--- a/src/main/resources/com/rapidminer/resources/OperatorsCore.xml
+++ b/src/main/resources/com/rapidminer/resources/OperatorsCore.xml
@@ -1,2332 +1,2336 @@
-
-
-
-
-
- process
- com.rapidminer.operator.ProcessRootOperator
- elements_selection.png
- Process
-
-
-
-
- dummy
- com.rapidminer.operator.DummyOperator
-
-
-
- 5.0
- hierarchical_classification
- com.rapidminer.operator.learner.meta.HierarchicalLearner
-
-
-
- 6.0
- read_aml
- com.rapidminer.operator.io.ExampleSource
- ExampleSource
-
-
- 6.0
- write_aml
- com.rapidminer.operator.io.ExampleSetWriter
- ExampleSetWriter
-
-
- 6.0
- clustermodel_2_exampleset
- com.rapidminer.operator.clustering.ClusterModel2ExampleSet
-
-
-
- 6.2
- decision_tree
- com.rapidminer.operator.learner.tree.DecisionTreeLearner
-
-
-
- 6.2
- random_forest
- com.rapidminer.operator.learner.tree.RandomForestLearner
-
-
-
- 7.3
- x_prediction
- com.rapidminer.operator.meta.XVPrediction
- XVPrediction
-
-
- 7.3
- x_validation
- com.rapidminer.operator.validation.XValidation
- XValidation
-
-
- 7.3
- batch_x_validation
- com.rapidminer.operator.validation.BatchXValidation
- BatchXValidation
-
-
- 8.0
- optimize_parameters_grid
- com.rapidminer.operator.meta.GridSearchParameterOptimizationOperator
-
- GridParameterOptimization
-
-
- 7.4
- loop
- com.rapidminer.operator.meta.IteratingOperatorChain
- IteratingOperatorChain
-
-
- 7.4
- loop_files
- com.rapidminer.operator.meta.FileIterator
- DirectoryIterator
- FileIterator
-
-
- 7.4
- loop_attributes
- com.rapidminer.operator.meta.FeatureIterator
- FeatureIterator
-
-
- 7.4
- loop_values
- com.rapidminer.operator.meta.ValueIteration
- ValueIterator
-
-
- 8.0
- loop_parameters
- com.rapidminer.operator.meta.ParameterIteration
- ParameterIteration
-
-
- 7.5
- create_learning_curve
- com.rapidminer.operator.meta.LearningCurveOperator
- LearningCurve
-
-
-
-
- retrieve
- com.rapidminer.operator.io.RepositorySource
- arrow_out_mirrored.png
- RepositorySource
-
-
- store
- com.rapidminer.operator.io.RepositoryStorer
- arrow_into_mirrored.png
- RepositoryStorer
-
-
- rename_repository_entry
- com.rapidminer.operator.repository.RepositoryEntryRenameOperator
-
- pencil.png
-
-
- copy_repository_entry
- com.rapidminer.operator.repository.RepositoryEntryCopyOperator
-
- copy.png
-
-
- move_repository_entry
- com.rapidminer.operator.repository.RepositoryEntryMoveOperator
-
- arrow_junction.png
-
-
- delete_repository_entry
- com.rapidminer.operator.repository.RepositoryEntryDeleteOperator
-
- delete.png
-
-
-
- inbox_into.png
-
- read_csv
- com.rapidminer.operator.nio.CSVExampleSource
- CSVExampleSource
-
-
- read_excel
- com.rapidminer.operator.nio.ExcelExampleSource
- ExcelExampleSource
-
-
- read_excel_format
- com.rapidminer.operator.nio.ExcelFormatExampleSource
-
-
-
- read_url
- com.rapidminer.operator.io.URLExampleSource
- URLExampleSource
- 5.0
-
-
-
- inbox_out.png
-
- write_csv
- com.rapidminer.operator.io.CSVExampleSetWriter
- CSVExampleSetWriter
-
-
- write_excel
- com.rapidminer.operator.io.ExcelExampleSetWriter
- ExcelExampleSetWriter
-
-
- write_special
- com.rapidminer.operator.io.SpecialFormatExampleSetWriter
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- table_selection_column_edit.png
-
- rename
- com.rapidminer.operator.preprocessing.filter.ChangeAttributeName
-
- ChangeAttributeName
-
-
- rename_by_replacing
- com.rapidminer.operator.preprocessing.filter.ChangeAttributeNamesReplace
-
- ChangeAttributeNamesReplace
-
-
- rename_by_generic_names
- com.rapidminer.operator.preprocessing.filter.ChangeAttributeNames2Generic
-
- ChangeAttributeNames2Generic
-
-
- rename_by_constructions
- com.rapidminer.operator.preprocessing.filter.Construction2Names
-
- Construction2Names
-
-
- rename_by_example_values
- com.rapidminer.operator.preprocessing.UseRowAsAttributeNames
-
- UseRowAsAttributeNames
-
-
- set_role
- com.rapidminer.operator.preprocessing.filter.ChangeAttributeRole
-
- ChangeAttributeType
- ChangeAttributeRole
-
-
- exchange_roles
- com.rapidminer.operator.preprocessing.filter.ExchangeAttributeRoles
-
- ExchangeAttributeRoles
-
-
-
- objects_transform.png
-
- numerical_to_binominal
- com.rapidminer.operator.preprocessing.filter.NumericToBinominal
-
- Numeric2Binominal
- Numeric2Binary
- Numerical2Binominal
-
-
- numerical_to_polynominal
- com.rapidminer.operator.preprocessing.filter.NumericToPolynominal
-
- Numeric2Polynominal
- Numerical2Polynominal
-
-
- numerical_to_real
- com.rapidminer.operator.preprocessing.filter.Numerical2Real
-
- Numerical2Real
-
-
- numerical_to_date
- com.rapidminer.operator.preprocessing.filter.Numerical2Date
-
-
-
- real_to_integer
- com.rapidminer.operator.preprocessing.filter.Real2Integer
-
- Real2Integer
-
-
- nominal_to_binominal
- com.rapidminer.operator.preprocessing.filter.NominalToBinominal
-
- Nominal2Binary
- Nominal2Binominal
-
-
- nominal_to_text
- com.rapidminer.operator.preprocessing.filter.Nominal2String
-
- Nominal2String
-
-
- nominal_to_numerical
- com.rapidminer.operator.preprocessing.filter.NominalToNumeric
-
- Nominal2Numeric
- Attributes2RealValues
- Nominal2Numerical
-
-
- nominal_to_date
- com.rapidminer.operator.preprocessing.filter.Nominal2Date
-
- Nominal2Date
-
-
- text_to_nominal
- com.rapidminer.operator.preprocessing.filter.String2Nominal
-
- String2Nominal
-
-
- date_to_numerical
- com.rapidminer.operator.preprocessing.filter.Date2Numerical
-
- Date2Numerical
-
-
- date_to_nominal
- com.rapidminer.operator.preprocessing.filter.Date2Nominal
-
- Date2Nominal
-
-
- parse_numbers
- com.rapidminer.operator.preprocessing.filter.NominalNumbers2Numerical
-
- NominalNumbers2Numerical
-
-
- format_numbers
- com.rapidminer.operator.preprocessing.filter.NumericToFormattedNominal
-
- Numerical2FormattedNominal
-
-
- guess_types
- com.rapidminer.operator.preprocessing.GuessValueTypes
-
- GuessValueTypes
-
-
-
- table_selection_column.png
-
- select_attributes
- com.rapidminer.operator.preprocessing.filter.attributes.AttributeFilter
-
- AttributeFilter
-
-
- select_by_weights
- com.rapidminer.operator.features.selection.AttributeWeightSelection
-
- AttributeWeightSelection
-
-
- select_by_random
- com.rapidminer.operator.features.selection.RandomSelection
-
- RandomSelection
-
-
- remove_attribute_range
- com.rapidminer.operator.preprocessing.filter.FeatureRangeRemoval
-
- FeatureRangeRemoval
-
-
- remove_useless_attributes
- com.rapidminer.operator.features.selection.RemoveUselessFeatures
-
- RemoveUselessAttributes
-
-
- remove_correlated_attributes
- com.rapidminer.operator.features.selection.RemoveCorrelatedFeatures
-
- RemoveCorrelatedFeatures
-
-
- work_on_subset
- com.rapidminer.operator.preprocessing.AttributeSubsetPreprocessing
-
- AttributeSubsetPreprocessing
-
-
-
- table_selection_column_add.png
-
- generate_attributes
- com.rapidminer.operator.features.construction.AttributeConstruction
-
- FeatureGeneration
- AttributeConstruction
-
-
- generate_id
- com.rapidminer.operator.preprocessing.IdTagging
- IdTagging
-
-
- generate_empty_attribute
- com.rapidminer.operator.preprocessing.filter.AttributeAdd
-
- AttributeAdd
-
-
- generate_copy
- com.rapidminer.operator.preprocessing.filter.AttributeCopy
-
- AttributeCopy
-
-
- generate_concatenation
- com.rapidminer.operator.preprocessing.filter.AttributeMerge
-
- AttributeMerge
-
-
- generate_aggregation
- com.rapidminer.operator.features.construction.AttributeAggregationOperator
-
- AttributeAggregation
-
-
- generate_absolutes
- com.rapidminer.operator.preprocessing.filter.AbsoluteValueFilter
-
- AbsoluteValues
-
-
- generate_products
- com.rapidminer.operator.features.construction.ProductGenerationOperator
-
- ProductAttributeGeneration
-
-
- generate_gaussians
- com.rapidminer.operator.features.construction.GaussFeatureConstructionOperator
-
- GaussAttributeGeneration
-
-
- generate_function_set
- com.rapidminer.operator.features.construction.CompleteFeatureGenerationOperator
-
- CompleteFeatureGeneration
-
-
- generate_tfidf
- com.rapidminer.operator.preprocessing.filter.TFIDFFilter
-
- TFIDFFilter
-
-
- generate_item_set_indicators
- com.rapidminer.operator.learner.associations.FrequentItemSetAttributeCreator
-
- FrequentItemSetAttributeCreator
-
-
- generate_weight_stratification
- com.rapidminer.operator.preprocessing.weighting.EqualLabelWeighting
-
- EqualLabelWeighting
-
-
- generate_weight_lpr
- com.rapidminer.operator.preprocessing.weighting.LocalPolynomialExampleWeightingOperator
-
- LocalPolynomialExampleWeighting
-
-
-
- order_attributes
- table_selection_column.png
- com.rapidminer.operator.preprocessing.filter.attributes.AttributeOrderingOperator
-
-
-
-
-
- funnel.png
-
- filter_examples
- com.rapidminer.operator.preprocessing.filter.ExampleFilter
-
- ExampleFilter
-
-
- filter_example_range
- com.rapidminer.operator.preprocessing.filter.ExampleRangeFilter
-
- ExampleRangeFilter
-
-
-
- funnel.png
-
- sample
- com.rapidminer.operator.preprocessing.sampling.SamplingOperator
-
- Sampling
-
-
- sample_stratified
- com.rapidminer.operator.preprocessing.sampling.StratifiedSamplingOperator
-
- StratifiedSampling
-
-
- sample_bootstrapping
- com.rapidminer.operator.preprocessing.sampling.BootstrappingOperator
-
- Bootstrapping
-
-
- sample_kennard_stone
- com.rapidminer.operator.preprocessing.sampling.KennardStoneSampling
-
- KennardStoneSampling
-
-
- sample_model_based
- com.rapidminer.operator.preprocessing.sampling.ModelBasedSampling
-
- ModelBasedSampling
-
-
- split_data
- com.rapidminer.operator.preprocessing.sampling.PartitionOperator
-
- Partition
-
-
-
- sort_az_descending.png
-
- sort
- com.rapidminer.operator.preprocessing.filter.Sorting
-
- Sorting
-
-
- sort_by_pareto_rank
- com.rapidminer.operator.preprocessing.filter.NonDominatedSorting
-
- NonDominatedSorting
-
-
- shuffle
- com.rapidminer.operator.preprocessing.filter.PermutationOperator
-
- Permutation
-
-
-
-
-
- calculator.png
-
- aggregate
- com.rapidminer.operator.preprocessing.transformation.aggregation.AggregationOperator
-
- Aggregation
-
-
-
- table_refresh.png
-
- pivot
- com.rapidminer.operator.preprocessing.transformation.Example2AttributePivoting
-
- Example2AttributePivoting
-
-
- de_pivot
- com.rapidminer.operator.preprocessing.transformation.Attribute2ExamplePivoting
-
- Attribute2ExamplePivoting
-
-
- transpose
- com.rapidminer.operator.preprocessing.ExampleSetTranspose
-
- ExampleSetTranspose
-
-
-
- logic_and.png
-
- append
- com.rapidminer.operator.preprocessing.join.ExampleSetMerge
-
- ExampleSetMerge
-
-
- join
- com.rapidminer.operator.preprocessing.join.ExampleSetJoin
-
- ExampleSetJoin
-
-
- set_minus
- com.rapidminer.operator.preprocessing.join.ExampleSetMinus
-
- ExampleSetMinus
-
-
- intersect
- com.rapidminer.operator.preprocessing.join.ExampleSetIntersect
-
- ExampleSetIntersect
-
-
- union
- com.rapidminer.operator.preprocessing.join.ExampleSetUnion
-
- ExampleSetUnion
-
-
- superset
- com.rapidminer.operator.preprocessing.join.ExampleSetSuperset
-
- ExampleSetSuperset
-
-
- cartesian_product
- com.rapidminer.operator.preprocessing.join.ExampleSetCartesian
-
- ExampleSetCartesian
-
-
-
-
- table_selection_cell.png
-
- map
- com.rapidminer.operator.preprocessing.filter.AttributeValueMapper
-
- AttributeValueMapper
- Mapping
-
-
- replace
- com.rapidminer.operator.preprocessing.filter.AttributeValueReplace
-
- Replace
-
-
- replace_dictionary
- com.rapidminer.operator.preprocessing.filter.ExampleSetToDictionary
-
- Dictionary
-
-
- split
- com.rapidminer.operator.preprocessing.filter.AttributeValueSplit
-
- Split
-
-
- cut
- com.rapidminer.operator.preprocessing.filter.AttributeValueSubstring
-
- AttributeValueSubstring
- Substring
-
-
- trim
- com.rapidminer.operator.preprocessing.filter.AttributeValueTrim
-
- Trim
-
-
- merge
- com.rapidminer.operator.preprocessing.filter.MergeNominalValues
-
- MergeNominalValues
- MergeValues
-
-
- add
- com.rapidminer.operator.preprocessing.filter.AddNominalValue
-
- AddNominalValue
- AddValue
-
-
- remap_binominals
- com.rapidminer.operator.preprocessing.filter.InternalBinominalRemapping
-
- InternalBinominalRemapping
-
-
- set_data
- com.rapidminer.operator.preprocessing.filter.SetData
- SetData
-
-
- adjust_date
- com.rapidminer.operator.preprocessing.filter.DateAdjust
-
- DateAdjust
-
-
-
-
-
- table_selection_cell.png
-
- normalize
- com.rapidminer.operator.preprocessing.normalization.Normalization
-
- Normalization
-
-
- denormalize
- com.rapidminer.operator.preprocessing.normalization.DenormalizationOperator
-
-
-
- scale_by_weights
- com.rapidminer.operator.features.AttributeWeightsApplier
-
- AttributeWeightsApplier
-
-
-
- objects_transform.png
-
- discretize_by_size
- com.rapidminer.operator.preprocessing.discretization.AbsoluteDiscretization
-
- AbsoluteDiscretization
-
-
- discretize_by_bins
- com.rapidminer.operator.preprocessing.discretization.BinDiscretization
-
- BinDiscretization
-
-
- discretize_by_frequency
- com.rapidminer.operator.preprocessing.discretization.FrequencyDiscretization
-
- FrequencyDiscretization
-
-
- discretize_by_user_specification
- com.rapidminer.operator.preprocessing.discretization.UserBasedDiscretization
-
- UserBasedDiscretization
-
-
- discretize_by_entropy
- com.rapidminer.operator.preprocessing.discretization.MinimalEntropyDiscretization
-
- MinimalEntropyPartitioning
-
-
-
- table_selection_cell_new.png
-
- replace_missing_values
- com.rapidminer.operator.preprocessing.filter.MissingValueReplenishment
-
- MissingValueReplenishment
-
-
- impute_missing_values
- com.rapidminer.operator.preprocessing.filter.MissingValueImputation
-
- MissingValueImputation
-
-
- declare_missing_value
- com.rapidminer.operator.preprocessing.filter.DeclareMissingValueOperator
-
-
-
- replace_infinite_values
- com.rapidminer.operator.preprocessing.filter.InfiniteValueReplenishment
-
- InfiniteValueReplenishment
-
-
- remove_unused_values
- com.rapidminer.operator.preprocessing.RemoveUnusedNominalValuesOperator
-
-
-
- fill_data_gaps
- com.rapidminer.operator.preprocessing.filter.FillDataGaps
-
- FillDataGaps
-
-
-
- funnel.png
-
- remove_duplicates
- com.rapidminer.operator.preprocessing.filter.RemoveDuplicates
-
- RemoveDuplicates
-
-
-
- table_selection_cell_new.png
-
- detect_outlier_distances
- com.rapidminer.operator.preprocessing.outlier.DKNOutlierOperator
-
- DistanceBasedOutlierDetection
-
-
- detect_outlier_densities
- com.rapidminer.operator.preprocessing.outlier.DBOutlierOperator
-
- DensityBasedOutlierDetection
-
-
- detect_outlier_lof
- com.rapidminer.operator.preprocessing.outlier.LOFOutlierOperator
-
- LOFOutlierDetection
-
-
- detect_outlier_cof
- com.rapidminer.operator.preprocessing.outlier.EcodbOperator
-
-
-
-
- table_selection_column_tool.png
-
- principal_component_analysis
- com.rapidminer.operator.features.transformation.PCA
- PrincipalComponentsGenerator
-
-
- principal_component_analysis_kernel
- com.rapidminer.operator.features.transformation.KernelPCA
-
- KernelPCA
-
-
- independent_component_analysis
- com.rapidminer.operator.features.transformation.FastICA
-
- FastICA
-
-
- generalized_hebbian_algorithm
- com.rapidminer.operator.features.transformation.GHA
- GHA
-
-
- singular_value_decomposition
- com.rapidminer.operator.features.transformation.SVDReduction
-
- SVDReduction
-
-
- self_organizing_map
- com.rapidminer.operator.features.transformation.SOMDimensionalityReduction
-
- SOMDimensionalityReduction
-
-
- fourier_transformation
- com.rapidminer.operator.features.transformation.FourierTransform
-
- FourierTransform
-
-
-
-
- lightbulb_off.png
-
-
-
- default_model
- com.rapidminer.operator.learner.lazy.DefaultLearner
- DefaultLearner
-
-
- k_nn
- com.rapidminer.operator.learner.lazy.KNNLearner
- NearestNeighbors
-
-
-
-
- naive_bayes
- com.rapidminer.operator.learner.bayes.NaiveBayes
- NaiveBayes
-
-
- naive_bayes_kernel
- com.rapidminer.operator.learner.bayes.KernelNaiveBayes
-
- KernelNaiveBayes
-
-
-
-
- decision_tree_multiway
- com.rapidminer.operator.learner.tree.MultiwayDecisionTree
-
- MultiwayDecisionTree
- 30
-
-
- decision_tree_weight_based
- com.rapidminer.operator.learner.tree.RelevanceTreeLearner
-
- RelevanceTree
- 20
-
-
- id3
- com.rapidminer.operator.learner.tree.ID3Learner
- ID3
- 50
-
-
- chaid
- com.rapidminer.operator.learner.tree.CHAIDLearner
- CHAID
- 60
-
-
- decision_stump
- com.rapidminer.operator.learner.tree.DecisionStumpLearner
-
- DecisionStump
- 40
-
-
- random_tree
- com.rapidminer.operator.learner.tree.RandomTreeLearner
-
- RandomTree
- 10
-
-
-
-
- rule_induction
- com.rapidminer.operator.learner.rules.RuleLearner
- RuleLearner
-
-
- single_rule_induction
- com.rapidminer.operator.learner.rules.BestRuleInduction
-
- BestRuleInduction
-
-
- single_rule_induction_single_attribute
- com.rapidminer.operator.learner.rules.SingleRuleLearner
-
- OneR
-
-
- subgroup_discovery
- com.rapidminer.operator.learner.subgroups.SubgroupDiscovery
-
- ExhaustiveSubgroupDiscovery
-
-
- tree_to_rules
- com.rapidminer.operator.learner.meta.Tree2RuleConverter
-
- Tree2RuleConverter
-
-
-
-
- neural_net
- com.rapidminer.operator.learner.functions.neuralnet.ImprovedNeuralNetLearner
-
- NeuralNetImproved
-
-
- auto_mlp
- de.dfki.madm.paren.operator.learner.functions.neuralnet.AutoMLPImprovedNeuralNetLearner
-
- AutoMLP
-
-
- perceptron
- com.rapidminer.operator.learner.functions.Perceptron
-
- Perceptron
-
-
-
-
- linear_regression
- com.rapidminer.operator.learner.functions.linear.LinearRegression
-
- LinearRegression
-
-
- polynomial_regression
- com.rapidminer.operator.learner.functions.PolynomialRegression
-
- PolynomialRegression
-
-
- vector_linear_regression
- com.rapidminer.operator.learner.functions.VectorLinearRegression
-
- VectorLinearRegression
-
-
- local_polynomial_regression
- com.rapidminer.operator.learner.local.LocalPolynomialRegressionOperator
-
- LocalPolynomialRegression
-
-
- seemingly_unrelated_regression
- com.rapidminer.operator.learner.functions.SeeminglyUnrelatedRegressionOperator
-
-
-
- gaussian_process
- com.rapidminer.operator.learner.functions.kernel.GPLearner
-
- GPLearner
-
-
- relevance_vector_machine
- com.rapidminer.operator.learner.functions.kernel.RVMLearner
-
- RVMLearner
-
-
-
-
- logistic_regression
- com.rapidminer.operator.learner.functions.kernel.MyKLRLearner
-
- MyKLRLearner
-
-
- logistic_regression_evolutionary
- com.rapidminer.operator.learner.functions.kernel.KernelLogisticRegression
-
- KernelLogisticRegression
-
-
-
-
- support_vector_machine
- com.rapidminer.operator.learner.functions.kernel.JMySVMLearner
-
- JMySVMLearner
-
-
- support_vector_machine_libsvm
- com.rapidminer.operator.learner.functions.kernel.LibSVMLearner
-
- LibSVMLearner
-
-
- support_vector_machine_linear
- com.rapidminer.operator.learner.functions.kernel.LinearMySVMLearner
-
-
-
- support_vector_machine_evolutionary
- com.rapidminer.operator.learner.functions.kernel.evosvm.EvoSVM
-
- EvoSVM
-
-
- support_vector_machine_pso
- com.rapidminer.operator.learner.functions.kernel.evosvm.PSOSVM
-
- PsoSVM
-
-
- fast_large_margin
- com.rapidminer.operator.learner.functions.FastLargeMargin
-
- FastLargeMargin
-
-
- hyper_hyper
- com.rapidminer.operator.learner.functions.kernel.hyperhyper.HyperHyper
-
- HyperHyper
-
-
-
-
- linear_discriminant_analysis
- com.rapidminer.operator.learner.bayes.LinearDiscriminantAnalysis
-
- LinearDiscriminantAnalysis
-
-
- quadratic_discriminant_analysis
- com.rapidminer.operator.learner.bayes.QuadraticDiscriminantAnalysis
-
- QuadraticDiscriminantAnalysis
-
-
- regularized_discriminant_analysis
- com.rapidminer.operator.learner.bayes.RegularizedDiscriminantAnalysis
-
- RegularizedDiscriminantAnalysis
-
-
-
-
- vote
- com.rapidminer.operator.learner.meta.Vote
- Vote
-
-
- polynomial_by_binomial_classification
- com.rapidminer.operator.learner.meta.Binary2MultiClassLearner
-
- Binary2MultiClassLearner
-
-
- hierarchical_multi_class_classification
- com.rapidminer.operator.learner.meta.HierarchicalMultiClassLearner
-
-
-
- classification_by_regression
- com.rapidminer.operator.learner.meta.ClassificationByRegression
-
- ClassificationByRegression
-
-
- additive_regression
- com.rapidminer.operator.learner.meta.AdditiveRegression
-
- AdditiveRegression
-
-
- relative_regression
- com.rapidminer.operator.learner.meta.RelativeRegression
-
- RelativeRegression
-
-
- transformed_regression
- com.rapidminer.operator.learner.meta.TransformedRegression
-
- TransformedRegression
-
-
- bayesian_boosting
- com.rapidminer.operator.learner.meta.BayesianBoosting
-
- BayesianBoosting
-
-
- subgroup_discovery_meta
- com.rapidminer.operator.learner.meta.SDRulesetInduction
-
- SubgroupDiscovery
-
-
- adaboost
- com.rapidminer.operator.learner.meta.AdaBoost
- AdaBoost
-
-
- bagging
- com.rapidminer.operator.learner.meta.Bagging
- Bagging
-
-
- stacking
- com.rapidminer.operator.learner.meta.Stacking
- Stacking
-
-
- metacost
- com.rapidminer.operator.learner.meta.MetaCost
- MetaCost
-
-
- find_threshold_meta
- com.rapidminer.operator.learner.meta.CostBasedThresholdLearner
-
- CostBasedThresholdLearner
-
-
-
- update_model
- com.rapidminer.operator.ModelUpdater
- lightbulb_on.png
- ModelUpdater
-
-
- group_models
- com.rapidminer.operator.ModelGrouper
- link.png
- ModelGrouper
-
-
- ungroup_models
- com.rapidminer.operator.ModelUngrouper
- link_broken.png
- ModelUngrouper
-
-
- create_formula
- com.rapidminer.operator.visualization.FormulaExtractor
-
- formula.png
- FormulaExtractor
-
-
-
- chart_dot.png
-
- k_means
- com.rapidminer.operator.clustering.clusterer.KMeans
- KMeans
-
-
- k_means_kernel
- com.rapidminer.operator.clustering.clusterer.KernelKMeans
-
- KernelKMeans
-
-
- fast_k_means
- com.rapidminer.operator.clustering.clusterer.FastKMeans
-
-
-
- x_means
- com.rapidminer.operator.clustering.clusterer.XMeans
-
-
- k_medoids
- com.rapidminer.operator.clustering.clusterer.KMedoids
-
- KMedoids
-
-
- dbscan
- com.rapidminer.operator.clustering.clusterer.DBScan
- DBScanClustering
-
-
- expectation_maximization_clustering
- com.rapidminer.operator.clustering.clusterer.soft.EMClusterer
-
- EMClustering
-
-
- support_vector_clustering
- com.rapidminer.operator.clustering.clusterer.SVClustering
-
- SupportVectorClustering
-
-
- random_clustering
- com.rapidminer.operator.clustering.clusterer.RandomClustering
-
- RandomFlatClustering
-
-
- agglomerative_clustering
- com.rapidminer.operator.clustering.clusterer.AgglomerativeClustering
-
- AgglomerativeClustering
-
-
- top_down_clustering
- com.rapidminer.operator.clustering.clusterer.TopDownClustering
-
- TopDownClustering
-
-
- flatten_clustering
- com.rapidminer.operator.clustering.FlattenClusterModel
-
- FlattenClusterModel
-
-
- extract_prototypes
- com.rapidminer.operator.clustering.ExtractClusterPrototypes
-
-
-
-
- shopping_cart.png
-
- fp_growth
- com.rapidminer.operator.learner.associations.fpgrowth.FPGrowth
-
- FPGrowth
-
-
- create_association_rules
- com.rapidminer.operator.learner.associations.AssociationRuleGenerator
-
- AssociationRuleGenerator
-
-
- apply_association_rules
- com.rapidminer.operator.associations.AssociationRulesApplier
-
-
-
- generalized_sequential_patterns
- com.rapidminer.operator.learner.associations.gsp.GSPOperator
-
- GeneralizedSequentialPattern
-
-
- item_sets_to_data
- com.rapidminer.operator.learner.associations.FrequentItemSetsToData
-
-
-
- unify_item_sets
- com.rapidminer.operator.learner.associations.FrequentItemSetUnificator
-
- FrequentItemSetUnificator
-
-
-
- table_selection_range.png
-
- correlation_matrix
- com.rapidminer.operator.visualization.dependencies.CorrelationMatrixOperator
-
- CorrelationMatrix
-
-
- covariance_matrix
- com.rapidminer.operator.visualization.dependencies.CovarianceMatrixOperator
-
- CovarianceMatrix
-
-
- anova_matrix
- com.rapidminer.operator.visualization.dependencies.ANOVAMatrixOperator
-
- ANOVAMatrix
-
-
- grouped_anova
- com.rapidminer.operator.preprocessing.transformation.GroupedANOVAOperator
-
- GroupedANOVA
-
-
- transition_matrix
- com.rapidminer.operator.visualization.dependencies.TransitionMatrixOperator
-
- TransitionMatrix
-
-
- transition_graph
- com.rapidminer.operator.visualization.dependencies.TransitionGraphOperator
-
- TransitionGraph
-
-
- mututal_information_matrix
- com.rapidminer.operator.visualization.dependencies.MutualInformationMatrixOperator
-
- MutualInformationMatrix
-
-
- rainflow_matrix
- com.rapidminer.operator.visualization.dependencies.RainflowMatrixOperator
-
- RainflowMatrix
-
-
-
- graph_connection_directed.png
-
- data_to_similarity
- com.rapidminer.operator.similarity.ExampleSet2Similarity
-
- ExampleSet2Similarity
-
-
- data_to_similarity_data
- com.rapidminer.operator.similarity.ExampleSet2SimilarityExampleSet
-
- ExampleSet2SimilarityExampleSet
-
-
- similarity_to_data
- com.rapidminer.operator.similarity.Similarity2ExampleSet
-
- Similarity2ExampleSet
-
-
- cross_distances
- com.rapidminer.operator.similarity.CrossDistancesOperator
-
-
-
-
- sort_descending.png
-
- weight_by_information_gain
- com.rapidminer.operator.features.weighting.InfoGainWeighting
-
- InfoGainWeighting
-
-
- weight_by_information_gain_ratio
- com.rapidminer.operator.features.weighting.InfoGainRatioWeighting
-
- InfoGainRatioWeighting
-
-
- weight_by_rule
- com.rapidminer.operator.features.weighting.OneRErrorWeighting
-
- SingleRuleWeighting
-
-
- weight_by_value_average
- com.rapidminer.operator.features.weighting.CorpusBasedFeatureWeighting
-
- CorpusBasedWeighting
-
-
- weight_by_deviation
- com.rapidminer.operator.features.weighting.StandardDeviationWeighting
-
- StandardDeviationWeighting
-
-
- weight_by_correlation
- com.rapidminer.operator.features.weighting.CorrelationWeighting
-
- CorrelationBasedWeighting
-
-
- weight_by_chi_squared_statistic
- com.rapidminer.operator.features.weighting.ChiSquaredWeighting
-
- ChiSquaredWeighting
-
-
- weight_by_gini_index
- com.rapidminer.operator.features.weighting.GiniWeighting
-
- GiniIndexWeighting
-
-
- weight_by_forest
- com.rapidminer.operator.features.weighting.ForestBasedWeighting
-
-
-
- weight_by_uncertainty
- com.rapidminer.operator.features.weighting.SymmetricalUncertaintyOperator
-
- SymmetricalUncertaintyWeighting
-
-
- weight_by_relief
- com.rapidminer.operator.features.weighting.ReliefWeighting
-
- Relief
-
-
- weight_by_svm
- com.rapidminer.operator.features.weighting.SVMWeighting
-
- SVMWeighting
-
-
- weight_by_pca
- com.rapidminer.operator.features.weighting.PCAWeighting
-
- PCAWeighting
-
-
- weight_by_component_model
- com.rapidminer.operator.features.weighting.ComponentWeights
-
- ComponentWeights
-
-
- weight_by_user_specification
- com.rapidminer.operator.features.weighting.NameBasedWeighting
-
- NameBasedWeighting
-
-
- data_to_weights
- com.rapidminer.operator.features.weighting.ExampleSet2AttributeWeights
-
- ExampleSet2AttributeWeights
-
-
- weights_to_data
- com.rapidminer.operator.features.weighting.AttributeWeights2ExampleSet
-
- AttributeWeights2ExampleSet
-
-
-
-
- form.png
-
- optimize_parameters_quadratic
- com.rapidminer.operator.meta.QuadraticParameterOptimizationOperator
-
- QuadraticParameterOptimization
-
-
- optimize_parameters_evolutionary
- com.rapidminer.operator.meta.EvolutionaryParameterOptimizationOperator
-
- EvolutionaryParameterOptimization
-
-
- set_parameters
- com.rapidminer.operator.meta.ParameterSetter
- ParameterSetter
-
-
- clone_parameters
- com.rapidminer.operator.meta.ParameterCloner
- ParameterCloner
-
-
-
- table_selection_column.png
-
- optimize_selection_forward
- com.rapidminer.operator.features.selection.ForwardAttributeSelectionOperator
-
- AdvancedForwardSelection
-
-
- optimize_selection_backward
- com.rapidminer.operator.features.selection.BackwardAttributeEliminationOperator
-
- AdvancedBackwardElimination
-
-
- optimize_selection
- com.rapidminer.operator.features.selection.FeatureSelectionOperator
-
- FeatureSelection
-
-
- optimize_selection_brute_force
- com.rapidminer.operator.features.selection.BruteForceSelection
-
- BruteForce
-
-
- optimize_selection_weight_guided
- com.rapidminer.operator.features.selection.WeightGuidedSelectionOperator
-
- WeightGuidedFeatureSelection
-
-
- optimize_selection_evolutionary
- com.rapidminer.operator.features.selection.GeneticAlgorithm
-
- GeneticAlgorithm
-
-
-
- table_selection_column_add.png
-
- optimize_by_generation_evolutionary_aggregation
- com.rapidminer.operator.features.aggregation.EvolutionaryFeatureAggregation
-
- EvolutionaryAttributeAggregation
-
-
- optimize_by_generation_gga
- com.rapidminer.operator.features.construction.GeneratingGeneticAlgorithm
-
- GeneratingGeneticAlgorithm
-
-
- optimize_by_generation_aga
- com.rapidminer.operator.features.construction.AGA
- AGA
-
-
- optimize_by_generation_yagga
- com.rapidminer.operator.features.construction.YAGGA
-
- YAGGA
-
-
- optimize_by_generation_yagga2
- com.rapidminer.operator.features.construction.YAGGA2
-
- YAGGA2
-
-
-
- sort_descending.png
-
- optimize_weights_forward
- com.rapidminer.operator.features.weighting.ForwardWeighting
-
- ForwardWeighting
-
-
- optimize_weights_backward
- com.rapidminer.operator.features.weighting.BackwardWeighting
-
- BackwardWeighting
-
-
- optimize_weights_evolutionary
- com.rapidminer.operator.features.weighting.EvolutionaryWeighting
-
- EvolutionaryWeighting
-
-
- optimize_weights_pso
- com.rapidminer.operator.features.weighting.PSOWeighting
-
- PSOWeighting
-
-
-
-
-
- lightbulb_on.png
-
-
- rescale_confidences
- com.rapidminer.operator.postprocessing.PlattScaling
- PlattScaling
-
-
- drop_uncertain_predictions
- com.rapidminer.operator.postprocessing.SimpleUncertainPredictionsTransformation
-
- UncertainPredictionsTransformation
-
-
- generate_prediction
- com.rapidminer.operator.postprocessing.GeneratePredictionOperator
-
-
-
- generate_prediction_ranking
- com.rapidminer.operator.postprocessing.GeneratePredictionRankingOperator
-
-
-
- find_threshold
- com.rapidminer.operator.postprocessing.ThresholdFinder
-
- ThresholdFinder
-
-
- create_threshold
- com.rapidminer.operator.postprocessing.ThresholdCreator
-
- ThresholdCreator
-
-
- apply_threshold
- com.rapidminer.operator.postprocessing.ThresholdApplier
-
- ThresholdApplier
-
-
- select_recall
- com.rapidminer.operator.postprocessing.RecallChooser
-
-
-
-
- apply_model
- com.rapidminer.operator.ModelApplier
- lightbulb_on.png
- ModelApplier
-
-
-
- symbol_percent.png
-
-
-
- performance_classification
- com.rapidminer.operator.performance.PolynominalClassificationPerformanceEvaluator
-
- ClassificationPerformance
-
-
- performance_binominal_classification
- com.rapidminer.operator.performance.BinominalClassificationPerformanceEvaluator
-
- BinominalClassificationPerformance
-
-
- performance_regression
- com.rapidminer.operator.performance.RegressionPerformanceEvaluator
-
- RegressionPerformance
-
-
- performance_costs
- com.rapidminer.operator.performance.cost.CostEvaluator
-
- CostEvaluator
-
-
- performance_ranking
- com.rapidminer.operator.performance.cost.RankingEvaluator
-
-
-
- performance_support_vector_count
- com.rapidminer.operator.performance.SupportVectorCounter
-
- SupportVectorCounter
-
-
- performance_attribute_count
- com.rapidminer.operator.performance.AttributeCounter
-
- AttributeCounter
-
-
-
-
- cluster_count_performance
- com.rapidminer.operator.validation.clustering.ClusterNumberEvaluator
-
- ClusterNumberEvaluator
-
-
- cluster_distance_performance
- com.rapidminer.operator.validation.clustering.CentroidBasedEvaluator
-
- ClusterCentroidEvaluator
-
-
- cluster_density_performance
- com.rapidminer.operator.validation.clustering.ClusterDensityEvaluator
-
- ClusterDensityEvaluator
-
-
- item_distribution_performance
- com.rapidminer.operator.validation.clustering.exampledistribution.ExampleDistributionEvaluator
-
- ItemDistributionEvaluator
-
-
- map_clustering_on_labels
- com.rapidminer.operator.clustering.ClusterToPrediction
-
- Cluster2Prediction
-
-
-
-
- t_test
- com.rapidminer.operator.validation.significance.TTestSignificanceTestOperator
-
- T-Test
-
-
- anova
- com.rapidminer.operator.validation.significance.AnovaSignificanceTestOperator
-
- Anova
-
-
-
- performance
- com.rapidminer.operator.performance.SimplePerformanceEvaluator
-
- Performance
-
-
- extract_performance
- com.rapidminer.operator.performance.Data2Performance
- Data2Performance
-
-
- combine_performances
- com.rapidminer.operator.performance.WeightedPerformanceCreator
-
- WeightedPerformanceCreator
-
-
- performance_user_based
- com.rapidminer.operator.performance.UserBasedPerformanceEvaluator
-
- UserBasedPerformance
-
-
- performance_min_max
- com.rapidminer.operator.performance.MinMaxWrapper
- MinMaxWrapper
-
-
- performance_to_data
- com.rapidminer.operator.performance.PerformanceVectorToExampleSet
-
-
-
-
-
- create_lift_chart
- com.rapidminer.operator.visualization.LiftParetoChartGenerator
-
- LiftParetoChart
-
-
- compare_rocs
- com.rapidminer.operator.visualization.ROCBasedComparisonOperator
-
- ROCComparator
-
-
- visualize_model_by_som
- com.rapidminer.operator.visualization.SOMModelVisualization
-
- ModelVisualizer
-
-
-
- split_validation
- com.rapidminer.operator.validation.SplitValidationOperator
-
- SimpleValidation
-
-
- bootstrapping_validation
- com.rapidminer.operator.validation.BootstrappingValidation
-
- BootstrappingValidation
-
-
- wrapper_split_validation
- com.rapidminer.operator.validation.RandomSplitWrapperValidationChain
-
- SimpleWrapperValidation
-
-
- wrapper_x_validation
- com.rapidminer.operator.validation.WrapperXValidation
-
- WrapperXValidation
-
-
-
-
- console.png
-
- execute_script
- com.rapidminer.operator.ScriptingOperator
- Script
-
-
-
-
- arrow_circle.png
-
-
- loop_attribute_subsets
- com.rapidminer.operator.meta.FeatureSubsetIteration
- FeatureSubsetIteration
-
-
- loop_examples
- com.rapidminer.operator.meta.ExampleIterator
- ExampleIterator
-
-
- loop_labels
- com.rapidminer.operator.meta.MultipleLabelIterator
- MultipleLabelIterator
-
-
- loop_clusters
- com.rapidminer.operator.meta.ClusterIterator
- ClusterIteration
-
-
- loop_batches
- com.rapidminer.operator.meta.BatchProcessing
- BatchProcessing
-
-
- loop_data_sets
- com.rapidminer.operator.meta.ExampleSetIterator
- ExampleSetIterator
-
-
- loop_data_fractions
- com.rapidminer.operator.meta.PartialExampleSetLearner
-
- PartialExampleSetLearner
-
-
- loop_and_average
- com.rapidminer.operator.validation.IteratingPerformanceAverage
-
- IteratingPerformanceAverage
-
-
- loop_and_deliver_best
- com.rapidminer.operator.meta.RandomOptimizationChain
-
- RandomOptimizer
-
-
- loop_until
- com.rapidminer.operator.meta.RepeatUntilOperatorChain
-
- RepeatUntilOperatorChain
-
-
- loop_collection
- com.rapidminer.operator.collections.CollectionIterationOperator
-
- CollectionIterator
- -1
-
-
-
- loop_repository
- com.rapidminer.operator.meta.RepositoryIterator
- -1
-
-
- loop_zipfile_entries
- com.rapidminer.operator.meta.ZippedFileIterator
- -1
-
-
-
- elements_branch.png
-
- branch
- com.rapidminer.operator.meta.branch.ProcessBranch
- ProcessBranch
-
-
- select_subprocess
- com.rapidminer.operator.meta.OperatorSelector
- OperatorSelector
-
-
-
- memory.png
-
- collect
- com.rapidminer.operator.collections.CollectionOperator
-
- Collector
-
-
- select
- com.rapidminer.operator.collections.SelectionOperator
-
- Selector
-
-
- average
- com.rapidminer.operator.meta.AverageBuilder
- AverageBuilder
-
-
- flatten_collection
- com.rapidminer.operator.collections.UnfoldOperator
- Unfold
-
-
-
-
- handle_exception
- com.rapidminer.operator.meta.ExceptionHandling
- band_aid.png
- ErrorNeglector
- ExceptionHandling
-
-
- throw_exception
- com.rapidminer.operator.meta.ThrowExceptionOperator
- error.png
-
-
-
- remember
- com.rapidminer.operator.IOStorageOperator
- arrow_to.png
- IOStorer
-
-
- recall
- com.rapidminer.operator.IORetrievalOperator
- arrow_from.png
- IORetriever
-
-
- publish_to_app
- com.rapidminer.operator.IOPublishToAppOperator
- arrow_to.png
-
-
- recall_from_app
- com.rapidminer.operator.IORecallfromAppOperator
- arrow_from.png
-
-
-
- keyboard_key_a.png
-
- set_macro
- com.rapidminer.operator.SingleMacroDefinitionOperator
-
- SingleMacroDefinition
-
-
- set_macros
- com.rapidminer.operator.MacroDefinitionOperator
- MacroDefinition
-
-
- generate_macro
- com.rapidminer.operator.MacroConstructionOperator
- MacroConstruction
-
-
- extract_macro
- com.rapidminer.operator.DataMacroDefinitionOperator
- DataMacroDefinition
-
-
- unset_macro
- com.rapidminer.operator.macros.UnsetMacroOperator
-
-
-
- floppy_disk.png
-
- open_file
- com.rapidminer.operator.nio.file.LoadFileOperator
- arrow_out.png
-
-
- write_file
- com.rapidminer.operator.nio.file.WriteFileOperator
- arrow_into.png
-
-
- write_message
- com.rapidminer.operator.FileEchoOperator
- FileEcho
- arrow_into.png
-
-
- write_as_text
- com.rapidminer.operator.io.ResultWriter
- ResultWriter
- arrow_into.png
-
-
- rename_file
- com.rapidminer.operator.filesystem.RenameFileOperator
-
- pencil.png
-
-
- copy_file
- com.rapidminer.operator.filesystem.CopyFileOperator
- copy.png
-
-
- move_file
- com.rapidminer.operator.filesystem.MoveFileOperator
- arrow_junction.png
-
-
- delete_file
- com.rapidminer.operator.filesystem.DeleteFileOperator
-
- delete.png
-
-
- create_directory
- com.rapidminer.operator.filesystem.CreateDirectoryOperator
-
- folder_new.png
-
-
- create_archive_file
- box_open_new.png
- com.rapidminer.operator.nio.file.compression.CreateArchiveFileOperator
-
-
-
- add_entry_to_archive_file
- box_into.png
- com.rapidminer.operator.nio.file.compression.AddEntryToArchiveFile
-
-
-
-
- bookmark.png
-
- annotate
- com.rapidminer.operator.util.annotations.AnnotateOperator
-
- notebook.png
-
-
- annotations_to_data
- com.rapidminer.operator.util.annotations.AnnotationsToData
-
- notebook_data.png
-
-
- data_to_annotations
- com.rapidminer.operator.util.annotations.DataToAnnotations
-
- notebook_new.png
-
-
- extract_macro_from_annotation
- com.rapidminer.operator.util.annotations.ExtractAnnotation
-
- keyboard_key_a.png
-
-
-
- data_scroll.png
-
- log
- com.rapidminer.operator.visualization.ProcessLogOperator
-
- ProcessLog
-
-
- clear_log
- com.rapidminer.operator.visualization.ClearProcessLog
-
- ClearProcessLog
-
-
- extract_log_value
- com.rapidminer.operator.visualization.Data2Log
- Data2Log
-
-
- provide_macro_as_log_value
- com.rapidminer.operator.visualization.Macro2Log
- Macro2Log
-
-
- log_to_weights
- com.rapidminer.operator.features.weighting.ProcessLog2AttributeWeights
-
- ProcessLog2AttributeWeights
-
-
- log_to_data
- com.rapidminer.operator.visualization.ProcessLog2ExampleSet
-
- ProcessLog2ExampleSet
-
-
- print_to_console
- com.rapidminer.operator.tools.ConsolePrintOperator
-
-
-
-
-
- data_new.png
-
- generate_data
- com.rapidminer.operator.generator.ExampleSetGenerator
-
- ExampleSetGenerator
-
-
- generate_data_user_specification
- com.rapidminer.operator.generator.UserSpecificationDataGenerator
-
-
-
- generate_nominal_data
- com.rapidminer.operator.generator.NominalExampleSetGenerator
-
- NominalExampleSetGenerator
-
-
- generate_multi_label_data
- com.rapidminer.operator.generator.MultipleLabelGenerator
-
- MultipleLabelGenerator
-
-
- generate_massive_data
- com.rapidminer.operator.generator.MassiveDataGenerator
-
- MassiveDataGenerator
-
-
- generate_direct_mailing_data
- com.rapidminer.operator.generator.DirectMailingExampleSetGenerator
-
- DirectMailingExampleSetGenerator
-
-
- generate_churn_data
- com.rapidminer.operator.generator.ChurnReductionExampleSetGenerator
-
- ChurnReductionExampleSetGenerator
-
-
- generate_up_selling_data
- com.rapidminer.operator.generator.UpSellingExampleSetGenerator
-
- UpSellingExampleSetGenerator
-
-
- generate_sales_data
- com.rapidminer.operator.generator.SalesExampleSetGenerator
-
- SalesExampleSetGenerator
-
-
- generate_team_profit_data
- com.rapidminer.operator.generator.TeamProfitExampleSetGenerator
-
- TeamProfitExampleSetGenerator
-
-
- generate_transfer_data
- com.rapidminer.operator.generator.TransfersExampleSetGenerator
-
- TransfersExampleSetGenerator
-
-
- generate_transaction_data
- com.rapidminer.operator.generator.TransactionClustersExampleSetGenerator
-
-
-
- add_noise
- com.rapidminer.operator.preprocessing.NoiseOperator
- NoiseGenerator
-
-
-
- wrench.png
-
- send_mail
- com.rapidminer.operator.tools.SendMailOperator
- mail.png
-
-
- delay
- com.rapidminer.operator.tools.DelayOperator
- hourglass.png
-
-
- materialize_data
- com.rapidminer.operator.preprocessing.MaterializeDataInMemory
-
- MaterializeDataInMemory
-
-
- free_memory
- com.rapidminer.operator.MemoryCleanUp
- MemoryCleanUp
-
-
- join_paths
- com.rapidminer.operator.IOMerger
- wrench.png
- IOMerger
-
-
-
- multiply
- com.rapidminer.operator.IOMultiplier
- data_copy.png
- IOMultiplier2
-
-
- subprocess
- com.rapidminer.operator.SimpleOperatorChain
- elements_tree.png
- OperatorChain
-
-
-
+
+
+
+
+
+ process
+ com.rapidminer.operator.ProcessRootOperator
+ elements_selection.png
+ Process
+
+
+
+
+ dummy
+ com.rapidminer.operator.DummyOperator
+
+
+
+ 5.0
+ hierarchical_classification
+ com.rapidminer.operator.learner.meta.HierarchicalLearner
+
+
+
+ 6.0
+ read_aml
+ com.rapidminer.operator.io.ExampleSource
+ ExampleSource
+
+
+ 6.0
+ write_aml
+ com.rapidminer.operator.io.ExampleSetWriter
+ ExampleSetWriter
+
+
+ 6.0
+ clustermodel_2_exampleset
+ com.rapidminer.operator.clustering.ClusterModel2ExampleSet
+
+
+
+ 6.2
+ decision_tree
+ com.rapidminer.operator.learner.tree.DecisionTreeLearner
+
+
+
+ 6.2
+ random_forest
+ com.rapidminer.operator.learner.tree.RandomForestLearner
+
+
+
+ 7.3
+ x_prediction
+ com.rapidminer.operator.meta.XVPrediction
+ XVPrediction
+
+
+ 7.3
+ x_validation
+ com.rapidminer.operator.validation.XValidation
+ XValidation
+
+
+ 7.3
+ batch_x_validation
+ com.rapidminer.operator.validation.BatchXValidation
+ BatchXValidation
+
+
+ 8.0
+ optimize_parameters_grid
+ com.rapidminer.operator.meta.GridSearchParameterOptimizationOperator
+
+ GridParameterOptimization
+
+
+ 7.4
+ loop
+ com.rapidminer.operator.meta.IteratingOperatorChain
+ IteratingOperatorChain
+
+
+ 7.4
+ loop_files
+ com.rapidminer.operator.meta.FileIterator
+ DirectoryIterator
+ FileIterator
+
+
+ 7.4
+ loop_attributes
+ com.rapidminer.operator.meta.FeatureIterator
+ FeatureIterator
+
+
+ 7.4
+ loop_values
+ com.rapidminer.operator.meta.ValueIteration
+ ValueIterator
+
+
+ 8.0
+ loop_parameters
+ com.rapidminer.operator.meta.ParameterIteration
+ ParameterIteration
+
+
+ 7.5
+ create_learning_curve
+ com.rapidminer.operator.meta.LearningCurveOperator
+ LearningCurve
+
+
+ 8.1
+ join
+ com.rapidminer.operator.preprocessing.join.ExampleSetJoin
+
+ ExampleSetJoin
+
+
+ 8.1
+ correlation_matrix
+ com.rapidminer.operator.visualization.dependencies.CorrelationMatrixOperator
+
+ CorrelationMatrix
+
+
+ 8.1
+ k_means
+ com.rapidminer.operator.clustering.clusterer.KMeans
+ KMeans
+
+
+
+
+ retrieve
+ com.rapidminer.operator.io.RepositorySource
+ arrow_out_mirrored.png
+ RepositorySource
+
+
+ store
+ com.rapidminer.operator.io.RepositoryStorer
+ arrow_into_mirrored.png
+ RepositoryStorer
+
+
+ rename_repository_entry
+ com.rapidminer.operator.repository.RepositoryEntryRenameOperator
+
+ pencil.png
+
+
+ copy_repository_entry
+ com.rapidminer.operator.repository.RepositoryEntryCopyOperator
+
+ copy.png
+
+
+ move_repository_entry
+ com.rapidminer.operator.repository.RepositoryEntryMoveOperator
+
+ arrow_junction.png
+
+
+ delete_repository_entry
+ com.rapidminer.operator.repository.RepositoryEntryDeleteOperator
+
+ delete.png
+
+
+
+ inbox_into.png
+
+ read_csv
+ com.rapidminer.operator.nio.CSVExampleSource
+ CSVExampleSource
+
+
+ read_excel
+ com.rapidminer.operator.nio.ExcelExampleSource
+ ExcelExampleSource
+
+
+ read_excel_format
+ com.rapidminer.operator.nio.ExcelFormatExampleSource
+
+
+
+ read_url
+ com.rapidminer.operator.io.URLExampleSource
+ URLExampleSource
+ 5.0
+
+
+
+ inbox_out.png
+
+ write_csv
+ com.rapidminer.operator.io.CSVExampleSetWriter
+ CSVExampleSetWriter
+
+
+ write_excel
+ com.rapidminer.operator.io.ExcelExampleSetWriter
+ ExcelExampleSetWriter
+
+
+ write_special
+ com.rapidminer.operator.io.SpecialFormatExampleSetWriter
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ table_selection_column_edit.png
+
+ rename
+ com.rapidminer.operator.preprocessing.filter.ChangeAttributeName
+
+ ChangeAttributeName
+
+
+ rename_by_replacing
+ com.rapidminer.operator.preprocessing.filter.ChangeAttributeNamesReplace
+
+ ChangeAttributeNamesReplace
+
+
+ rename_by_generic_names
+ com.rapidminer.operator.preprocessing.filter.ChangeAttributeNames2Generic
+
+ ChangeAttributeNames2Generic
+
+
+ rename_by_constructions
+ com.rapidminer.operator.preprocessing.filter.Construction2Names
+
+ Construction2Names
+
+
+ rename_by_example_values
+ com.rapidminer.operator.preprocessing.UseRowAsAttributeNames
+
+ UseRowAsAttributeNames
+
+
+ set_role
+ com.rapidminer.operator.preprocessing.filter.ChangeAttributeRole
+
+ ChangeAttributeType
+ ChangeAttributeRole
+
+
+ exchange_roles
+ com.rapidminer.operator.preprocessing.filter.ExchangeAttributeRoles
+
+ ExchangeAttributeRoles
+
+
+
+ objects_transform.png
+
+ numerical_to_binominal
+ com.rapidminer.operator.preprocessing.filter.NumericToBinominal
+
+ Numeric2Binominal
+ Numeric2Binary
+ Numerical2Binominal
+
+
+ numerical_to_polynominal
+ com.rapidminer.operator.preprocessing.filter.NumericToPolynominal
+
+ Numeric2Polynominal
+ Numerical2Polynominal
+
+
+ numerical_to_real
+ com.rapidminer.operator.preprocessing.filter.Numerical2Real
+
+ Numerical2Real
+
+
+ numerical_to_date
+ com.rapidminer.operator.preprocessing.filter.Numerical2Date
+
+
+
+ real_to_integer
+ com.rapidminer.operator.preprocessing.filter.Real2Integer
+
+ Real2Integer
+
+
+ nominal_to_binominal
+ com.rapidminer.operator.preprocessing.filter.NominalToBinominal
+
+ Nominal2Binary
+ Nominal2Binominal
+
+
+ nominal_to_text
+ com.rapidminer.operator.preprocessing.filter.Nominal2String
+
+ Nominal2String
+
+
+ nominal_to_numerical
+ com.rapidminer.operator.preprocessing.filter.NominalToNumeric
+
+ Nominal2Numeric
+ Attributes2RealValues
+ Nominal2Numerical
+
+
+ nominal_to_date
+ com.rapidminer.operator.preprocessing.filter.Nominal2Date
+
+ Nominal2Date
+
+
+ text_to_nominal
+ com.rapidminer.operator.preprocessing.filter.String2Nominal
+
+ String2Nominal
+
+
+ date_to_numerical
+ com.rapidminer.operator.preprocessing.filter.Date2Numerical
+
+ Date2Numerical
+
+
+ date_to_nominal
+ com.rapidminer.operator.preprocessing.filter.Date2Nominal
+
+ Date2Nominal
+
+
+ parse_numbers
+ com.rapidminer.operator.preprocessing.filter.NominalNumbers2Numerical
+
+ NominalNumbers2Numerical
+
+
+ format_numbers
+ com.rapidminer.operator.preprocessing.filter.NumericToFormattedNominal
+
+ Numerical2FormattedNominal
+
+
+ guess_types
+ com.rapidminer.operator.preprocessing.GuessValueTypes
+
+ GuessValueTypes
+
+
+
+ table_selection_column.png
+
+ select_attributes
+ com.rapidminer.operator.preprocessing.filter.attributes.AttributeFilter
+
+ AttributeFilter
+
+
+ select_by_weights
+ com.rapidminer.operator.features.selection.AttributeWeightSelection
+
+ AttributeWeightSelection
+
+
+ select_by_random
+ com.rapidminer.operator.features.selection.RandomSelection
+
+ RandomSelection
+
+
+ remove_attribute_range
+ com.rapidminer.operator.preprocessing.filter.FeatureRangeRemoval
+
+ FeatureRangeRemoval
+
+
+ remove_useless_attributes
+ com.rapidminer.operator.features.selection.RemoveUselessFeatures
+
+ RemoveUselessAttributes
+
+
+ remove_correlated_attributes
+ com.rapidminer.operator.features.selection.RemoveCorrelatedFeatures
+
+ RemoveCorrelatedFeatures
+
+
+ work_on_subset
+ com.rapidminer.operator.preprocessing.AttributeSubsetPreprocessing
+
+ AttributeSubsetPreprocessing
+
+
+
+ table_selection_column_add.png
+
+ generate_attributes
+ com.rapidminer.operator.features.construction.AttributeConstruction
+
+ FeatureGeneration
+ AttributeConstruction
+
+
+ generate_id
+ com.rapidminer.operator.preprocessing.IdTagging
+ IdTagging
+
+
+ generate_empty_attribute
+ com.rapidminer.operator.preprocessing.filter.AttributeAdd
+
+ AttributeAdd
+
+
+ generate_copy
+ com.rapidminer.operator.preprocessing.filter.AttributeCopy
+
+ AttributeCopy
+
+
+ generate_concatenation
+ com.rapidminer.operator.preprocessing.filter.AttributeMerge
+
+ AttributeMerge
+
+
+ generate_aggregation
+ com.rapidminer.operator.features.construction.AttributeAggregationOperator
+
+ AttributeAggregation
+
+
+ generate_absolutes
+ com.rapidminer.operator.preprocessing.filter.AbsoluteValueFilter
+
+ AbsoluteValues
+
+
+ generate_products
+ com.rapidminer.operator.features.construction.ProductGenerationOperator
+
+ ProductAttributeGeneration
+
+
+ generate_gaussians
+ com.rapidminer.operator.features.construction.GaussFeatureConstructionOperator
+
+ GaussAttributeGeneration
+
+
+ generate_function_set
+ com.rapidminer.operator.features.construction.CompleteFeatureGenerationOperator
+
+ CompleteFeatureGeneration
+
+
+ generate_tfidf
+ com.rapidminer.operator.preprocessing.filter.TFIDFFilter
+
+ TFIDFFilter
+
+
+ generate_item_set_indicators
+ com.rapidminer.operator.learner.associations.FrequentItemSetAttributeCreator
+
+ FrequentItemSetAttributeCreator
+
+
+ generate_weight_stratification
+ com.rapidminer.operator.preprocessing.weighting.EqualLabelWeighting
+
+ EqualLabelWeighting
+
+
+ generate_weight_lpr
+ com.rapidminer.operator.preprocessing.weighting.LocalPolynomialExampleWeightingOperator
+
+ LocalPolynomialExampleWeighting
+
+
+
+ order_attributes
+ table_selection_column.png
+ com.rapidminer.operator.preprocessing.filter.attributes.AttributeOrderingOperator
+
+
+
+
+
+ funnel.png
+
+ filter_examples
+ com.rapidminer.operator.preprocessing.filter.ExampleFilter
+
+ ExampleFilter
+
+
+ filter_example_range
+ com.rapidminer.operator.preprocessing.filter.ExampleRangeFilter
+
+ ExampleRangeFilter
+
+
+
+ funnel.png
+
+ sample
+ com.rapidminer.operator.preprocessing.sampling.SamplingOperator
+
+ Sampling
+
+
+ sample_stratified
+ com.rapidminer.operator.preprocessing.sampling.StratifiedSamplingOperator
+
+ StratifiedSampling
+
+
+ sample_bootstrapping
+ com.rapidminer.operator.preprocessing.sampling.BootstrappingOperator
+
+ Bootstrapping
+
+
+ sample_kennard_stone
+ com.rapidminer.operator.preprocessing.sampling.KennardStoneSampling
+
+ KennardStoneSampling
+
+
+ sample_model_based
+ com.rapidminer.operator.preprocessing.sampling.ModelBasedSampling
+
+ ModelBasedSampling
+
+
+ split_data
+ com.rapidminer.operator.preprocessing.sampling.PartitionOperator
+
+ Partition
+
+
+
+ sort_az_descending.png
+
+ sort
+ com.rapidminer.operator.preprocessing.filter.Sorting
+
+ Sorting
+
+
+ sort_by_pareto_rank
+ com.rapidminer.operator.preprocessing.filter.NonDominatedSorting
+
+ NonDominatedSorting
+
+
+ shuffle
+ com.rapidminer.operator.preprocessing.filter.PermutationOperator
+
+ Permutation
+
+
+
+
+
+ calculator.png
+
+ aggregate
+ com.rapidminer.operator.preprocessing.transformation.aggregation.AggregationOperator
+
+ Aggregation
+
+
+
+ table_refresh.png
+
+ pivot
+ com.rapidminer.operator.preprocessing.transformation.Example2AttributePivoting
+
+ Example2AttributePivoting
+
+
+ de_pivot
+ com.rapidminer.operator.preprocessing.transformation.Attribute2ExamplePivoting
+
+ Attribute2ExamplePivoting
+
+
+ transpose
+ com.rapidminer.operator.preprocessing.ExampleSetTranspose
+
+ ExampleSetTranspose
+
+
+
+ logic_and.png
+
+ append
+ com.rapidminer.operator.preprocessing.join.ExampleSetMerge
+
+ ExampleSetMerge
+ 100
+
+
+ set_minus
+ com.rapidminer.operator.preprocessing.join.ExampleSetMinus
+
+ ExampleSetMinus
+
+
+ intersect
+ com.rapidminer.operator.preprocessing.join.ExampleSetIntersect
+
+ ExampleSetIntersect
+
+
+ union
+ com.rapidminer.operator.preprocessing.join.ExampleSetUnion
+
+ ExampleSetUnion
+
+
+ superset
+ com.rapidminer.operator.preprocessing.join.ExampleSetSuperset
+
+ ExampleSetSuperset
+
+
+ cartesian_product
+ com.rapidminer.operator.preprocessing.join.ExampleSetCartesian
+
+ ExampleSetCartesian
+
+
+
+
+ table_selection_cell.png
+
+ map
+ com.rapidminer.operator.preprocessing.filter.AttributeValueMapper
+
+ AttributeValueMapper
+ Mapping
+
+
+ replace
+ com.rapidminer.operator.preprocessing.filter.AttributeValueReplace
+
+ Replace
+
+
+ replace_dictionary
+ com.rapidminer.operator.preprocessing.filter.ExampleSetToDictionary
+
+ Dictionary
+
+
+ split
+ com.rapidminer.operator.preprocessing.filter.AttributeValueSplit
+
+ Split
+
+
+ cut
+ com.rapidminer.operator.preprocessing.filter.AttributeValueSubstring
+
+ AttributeValueSubstring
+ Substring
+
+
+ trim
+ com.rapidminer.operator.preprocessing.filter.AttributeValueTrim
+
+ Trim
+
+
+ merge
+ com.rapidminer.operator.preprocessing.filter.MergeNominalValues
+
+ MergeNominalValues
+ MergeValues
+
+
+ add
+ com.rapidminer.operator.preprocessing.filter.AddNominalValue
+
+ AddNominalValue
+ AddValue
+
+
+ remap_binominals
+ com.rapidminer.operator.preprocessing.filter.InternalBinominalRemapping
+
+ InternalBinominalRemapping
+
+
+ set_data
+ com.rapidminer.operator.preprocessing.filter.SetData
+ SetData
+
+
+ adjust_date
+ com.rapidminer.operator.preprocessing.filter.DateAdjust
+
+ DateAdjust
+
+
+
+
+
+ table_selection_cell.png
+
+ normalize
+ com.rapidminer.operator.preprocessing.normalization.Normalization
+
+ Normalization
+
+
+ denormalize
+ com.rapidminer.operator.preprocessing.normalization.DenormalizationOperator
+
+
+
+ scale_by_weights
+ com.rapidminer.operator.features.AttributeWeightsApplier
+
+ AttributeWeightsApplier
+
+
+
+ objects_transform.png
+
+ discretize_by_size
+ com.rapidminer.operator.preprocessing.discretization.AbsoluteDiscretization
+
+ AbsoluteDiscretization
+
+
+ discretize_by_bins
+ com.rapidminer.operator.preprocessing.discretization.BinDiscretization
+
+ BinDiscretization
+
+
+ discretize_by_frequency
+ com.rapidminer.operator.preprocessing.discretization.FrequencyDiscretization
+
+ FrequencyDiscretization
+
+
+ discretize_by_user_specification
+ com.rapidminer.operator.preprocessing.discretization.UserBasedDiscretization
+
+ UserBasedDiscretization
+
+
+ discretize_by_entropy
+ com.rapidminer.operator.preprocessing.discretization.MinimalEntropyDiscretization
+
+ MinimalEntropyPartitioning
+
+
+
+ table_selection_cell_new.png
+
+ replace_missing_values
+ com.rapidminer.operator.preprocessing.filter.MissingValueReplenishment
+
+ MissingValueReplenishment
+
+
+ impute_missing_values
+ com.rapidminer.operator.preprocessing.filter.MissingValueImputation
+
+ MissingValueImputation
+
+
+ declare_missing_value
+ com.rapidminer.operator.preprocessing.filter.DeclareMissingValueOperator
+
+
+
+ replace_infinite_values
+ com.rapidminer.operator.preprocessing.filter.InfiniteValueReplenishment
+
+ InfiniteValueReplenishment
+
+
+ remove_unused_values
+ com.rapidminer.operator.preprocessing.RemoveUnusedNominalValuesOperator
+
+
+
+ fill_data_gaps
+ com.rapidminer.operator.preprocessing.filter.FillDataGaps
+
+ FillDataGaps
+
+
+
+ funnel.png
+
+ remove_duplicates
+ com.rapidminer.operator.preprocessing.filter.RemoveDuplicates
+
+ RemoveDuplicates
+
+
+
+ table_selection_cell_new.png
+
+ detect_outlier_distances
+ com.rapidminer.operator.preprocessing.outlier.DKNOutlierOperator
+
+ DistanceBasedOutlierDetection
+
+
+ detect_outlier_densities
+ com.rapidminer.operator.preprocessing.outlier.DBOutlierOperator
+
+ DensityBasedOutlierDetection
+
+
+ detect_outlier_lof
+ com.rapidminer.operator.preprocessing.outlier.LOFOutlierOperator
+
+ LOFOutlierDetection
+
+
+ detect_outlier_cof
+ com.rapidminer.operator.preprocessing.outlier.EcodbOperator
+
+
+
+
+ table_selection_column_tool.png
+
+ principal_component_analysis
+ com.rapidminer.operator.features.transformation.PCA
+ PrincipalComponentsGenerator
+
+
+ principal_component_analysis_kernel
+ com.rapidminer.operator.features.transformation.KernelPCA
+
+ KernelPCA
+
+
+ independent_component_analysis
+ com.rapidminer.operator.features.transformation.FastICA
+
+ FastICA
+
+
+ generalized_hebbian_algorithm
+ com.rapidminer.operator.features.transformation.GHA
+ GHA
+
+
+ singular_value_decomposition
+ com.rapidminer.operator.features.transformation.SVDReduction
+
+ SVDReduction
+
+
+ self_organizing_map
+ com.rapidminer.operator.features.transformation.SOMDimensionalityReduction
+
+ SOMDimensionalityReduction
+
+
+ fourier_transformation
+ com.rapidminer.operator.features.transformation.FourierTransform
+
+ FourierTransform
+
+
+
+
+ lightbulb_off.png
+
+
+
+ default_model
+ com.rapidminer.operator.learner.lazy.DefaultLearner
+ DefaultLearner
+
+
+ k_nn
+ com.rapidminer.operator.learner.lazy.KNNLearner
+ NearestNeighbors
+
+
+
+
+ naive_bayes
+ com.rapidminer.operator.learner.bayes.NaiveBayes
+ NaiveBayes
+
+
+ naive_bayes_kernel
+ com.rapidminer.operator.learner.bayes.KernelNaiveBayes
+
+ KernelNaiveBayes
+
+
+
+
+ decision_tree_multiway
+ com.rapidminer.operator.learner.tree.MultiwayDecisionTree
+
+ MultiwayDecisionTree
+ 30
+
+
+ decision_tree_weight_based
+ com.rapidminer.operator.learner.tree.RelevanceTreeLearner
+
+ RelevanceTree
+ 20
+
+
+ id3
+ com.rapidminer.operator.learner.tree.ID3Learner
+ ID3
+ 50
+
+
+ chaid
+ com.rapidminer.operator.learner.tree.CHAIDLearner
+ CHAID
+ 60
+
+
+ decision_stump
+ com.rapidminer.operator.learner.tree.DecisionStumpLearner
+
+ DecisionStump
+ 40
+
+
+ random_tree
+ com.rapidminer.operator.learner.tree.RandomTreeLearner
+
+ RandomTree
+ 10
+
+
+
+
+ rule_induction
+ com.rapidminer.operator.learner.rules.RuleLearner
+ RuleLearner
+
+
+ single_rule_induction
+ com.rapidminer.operator.learner.rules.BestRuleInduction
+
+ BestRuleInduction
+
+
+ single_rule_induction_single_attribute
+ com.rapidminer.operator.learner.rules.SingleRuleLearner
+
+ OneR
+
+
+ subgroup_discovery
+ com.rapidminer.operator.learner.subgroups.SubgroupDiscovery
+
+ ExhaustiveSubgroupDiscovery
+
+
+ tree_to_rules
+ com.rapidminer.operator.learner.meta.Tree2RuleConverter
+
+ Tree2RuleConverter
+
+
+
+
+ neural_net
+ com.rapidminer.operator.learner.functions.neuralnet.ImprovedNeuralNetLearner
+
+ NeuralNetImproved
+
+
+ auto_mlp
+ de.dfki.madm.paren.operator.learner.functions.neuralnet.AutoMLPImprovedNeuralNetLearner
+
+ AutoMLP
+
+
+ perceptron
+ com.rapidminer.operator.learner.functions.Perceptron
+
+ Perceptron
+
+
+
+
+ linear_regression
+ com.rapidminer.operator.learner.functions.linear.LinearRegression
+
+ LinearRegression
+
+
+ polynomial_regression
+ com.rapidminer.operator.learner.functions.PolynomialRegression
+
+ PolynomialRegression
+
+
+ vector_linear_regression
+ com.rapidminer.operator.learner.functions.VectorLinearRegression
+
+ VectorLinearRegression
+
+
+ local_polynomial_regression
+ com.rapidminer.operator.learner.local.LocalPolynomialRegressionOperator
+
+ LocalPolynomialRegression
+
+
+ seemingly_unrelated_regression
+ com.rapidminer.operator.learner.functions.SeeminglyUnrelatedRegressionOperator
+
+
+
+ gaussian_process
+ com.rapidminer.operator.learner.functions.kernel.GPLearner
+
+ GPLearner
+
+
+ relevance_vector_machine
+ com.rapidminer.operator.learner.functions.kernel.RVMLearner
+
+ RVMLearner
+
+
+
+
+ logistic_regression
+ com.rapidminer.operator.learner.functions.kernel.MyKLRLearner
+
+ MyKLRLearner
+
+
+ logistic_regression_evolutionary
+ com.rapidminer.operator.learner.functions.kernel.KernelLogisticRegression
+
+ KernelLogisticRegression
+
+
+
+
+ support_vector_machine
+ com.rapidminer.operator.learner.functions.kernel.JMySVMLearner
+
+ JMySVMLearner
+
+
+ support_vector_machine_libsvm
+ com.rapidminer.operator.learner.functions.kernel.LibSVMLearner
+
+ LibSVMLearner
+
+
+ support_vector_machine_linear
+ com.rapidminer.operator.learner.functions.kernel.LinearMySVMLearner
+
+
+
+ support_vector_machine_evolutionary
+ com.rapidminer.operator.learner.functions.kernel.evosvm.EvoSVM
+
+ EvoSVM
+
+
+ support_vector_machine_pso
+ com.rapidminer.operator.learner.functions.kernel.evosvm.PSOSVM
+
+ PsoSVM
+
+
+ fast_large_margin
+ com.rapidminer.operator.learner.functions.FastLargeMargin
+
+ FastLargeMargin
+
+
+ hyper_hyper
+ com.rapidminer.operator.learner.functions.kernel.hyperhyper.HyperHyper
+
+ HyperHyper
+
+
+
+
+ linear_discriminant_analysis
+ com.rapidminer.operator.learner.bayes.LinearDiscriminantAnalysis
+
+ LinearDiscriminantAnalysis
+
+
+ quadratic_discriminant_analysis
+ com.rapidminer.operator.learner.bayes.QuadraticDiscriminantAnalysis
+
+ QuadraticDiscriminantAnalysis
+
+
+ regularized_discriminant_analysis
+ com.rapidminer.operator.learner.bayes.RegularizedDiscriminantAnalysis
+
+ RegularizedDiscriminantAnalysis
+
+
+
+
+ vote
+ com.rapidminer.operator.learner.meta.Vote
+ Vote
+
+
+ polynomial_by_binomial_classification
+ com.rapidminer.operator.learner.meta.Binary2MultiClassLearner
+
+ Binary2MultiClassLearner
+
+
+ hierarchical_multi_class_classification
+ com.rapidminer.operator.learner.meta.HierarchicalMultiClassLearner
+
+
+
+ classification_by_regression
+ com.rapidminer.operator.learner.meta.ClassificationByRegression
+
+ ClassificationByRegression
+
+
+ additive_regression
+ com.rapidminer.operator.learner.meta.AdditiveRegression
+
+ AdditiveRegression
+
+
+ relative_regression
+ com.rapidminer.operator.learner.meta.RelativeRegression
+
+ RelativeRegression
+
+
+ transformed_regression
+ com.rapidminer.operator.learner.meta.TransformedRegression
+
+ TransformedRegression
+
+
+ bayesian_boosting
+ com.rapidminer.operator.learner.meta.BayesianBoosting
+
+ BayesianBoosting
+
+
+ subgroup_discovery_meta
+ com.rapidminer.operator.learner.meta.SDRulesetInduction
+
+ SubgroupDiscovery
+
+
+ adaboost
+ com.rapidminer.operator.learner.meta.AdaBoost
+ AdaBoost
+
+
+ bagging
+ com.rapidminer.operator.learner.meta.Bagging
+ Bagging
+
+
+ stacking
+ com.rapidminer.operator.learner.meta.Stacking
+ Stacking
+
+
+ metacost
+ com.rapidminer.operator.learner.meta.MetaCost
+ MetaCost
+
+
+ find_threshold_meta
+ com.rapidminer.operator.learner.meta.CostBasedThresholdLearner
+
+ CostBasedThresholdLearner
+
+
+
+ update_model
+ com.rapidminer.operator.ModelUpdater
+ lightbulb_on.png
+ ModelUpdater
+
+
+ group_models
+ com.rapidminer.operator.ModelGrouper
+ link.png
+ ModelGrouper
+
+
+ ungroup_models
+ com.rapidminer.operator.ModelUngrouper
+ link_broken.png
+ ModelUngrouper
+
+
+ create_formula
+ com.rapidminer.operator.visualization.FormulaExtractor
+
+ formula.png
+ FormulaExtractor
+
+
+
+ chart_dot.png
+
+ k_means_kernel
+ com.rapidminer.operator.clustering.clusterer.KernelKMeans
+
+ KernelKMeans
+
+
+ fast_k_means
+ com.rapidminer.operator.clustering.clusterer.FastKMeans
+
+
+
+ x_means
+ com.rapidminer.operator.clustering.clusterer.XMeans
+
+
+ k_medoids
+ com.rapidminer.operator.clustering.clusterer.KMedoids
+
+ KMedoids
+
+
+ dbscan
+ com.rapidminer.operator.clustering.clusterer.DBScan
+ DBScanClustering
+
+
+ expectation_maximization_clustering
+ com.rapidminer.operator.clustering.clusterer.soft.EMClusterer
+
+ EMClustering
+
+
+ support_vector_clustering
+ com.rapidminer.operator.clustering.clusterer.SVClustering
+
+ SupportVectorClustering
+
+
+ random_clustering
+ com.rapidminer.operator.clustering.clusterer.RandomClustering
+
+ RandomFlatClustering
+
+
+ agglomerative_clustering
+ com.rapidminer.operator.clustering.clusterer.AgglomerativeClustering
+
+ AgglomerativeClustering
+
+
+ top_down_clustering
+ com.rapidminer.operator.clustering.clusterer.TopDownClustering
+
+ TopDownClustering
+
+
+ flatten_clustering
+ com.rapidminer.operator.clustering.FlattenClusterModel
+
+ FlattenClusterModel
+
+
+ extract_prototypes
+ com.rapidminer.operator.clustering.ExtractClusterPrototypes
+
+
+
+
+ shopping_cart.png
+
+ fp_growth
+ com.rapidminer.operator.learner.associations.fpgrowth.FPGrowth
+
+ FPGrowth
+
+
+ create_association_rules
+ com.rapidminer.operator.learner.associations.AssociationRuleGenerator
+
+ AssociationRuleGenerator
+
+
+ apply_association_rules
+ com.rapidminer.operator.associations.AssociationRulesApplier
+
+
+
+ generalized_sequential_patterns
+ com.rapidminer.operator.learner.associations.gsp.GSPOperator
+
+ GeneralizedSequentialPattern
+
+
+ item_sets_to_data
+ com.rapidminer.operator.learner.associations.FrequentItemSetsToData
+
+
+
+ unify_item_sets
+ com.rapidminer.operator.learner.associations.FrequentItemSetUnificator
+
+ FrequentItemSetUnificator
+
+
+
+ table_selection_range.png
+
+ covariance_matrix
+ com.rapidminer.operator.visualization.dependencies.CovarianceMatrixOperator
+
+ CovarianceMatrix
+
+
+ anova_matrix
+ com.rapidminer.operator.visualization.dependencies.ANOVAMatrixOperator
+
+ ANOVAMatrix
+
+
+ grouped_anova
+ com.rapidminer.operator.preprocessing.transformation.GroupedANOVAOperator
+
+ GroupedANOVA
+
+
+ transition_matrix
+ com.rapidminer.operator.visualization.dependencies.TransitionMatrixOperator
+
+ TransitionMatrix
+
+
+ transition_graph
+ com.rapidminer.operator.visualization.dependencies.TransitionGraphOperator
+
+ TransitionGraph
+
+
+ mututal_information_matrix
+ com.rapidminer.operator.visualization.dependencies.MutualInformationMatrixOperator
+
+ MutualInformationMatrix
+
+
+ rainflow_matrix
+ com.rapidminer.operator.visualization.dependencies.RainflowMatrixOperator
+
+ RainflowMatrix
+
+
+
+ graph_connection_directed.png
+
+ data_to_similarity
+ com.rapidminer.operator.similarity.ExampleSet2Similarity
+
+ ExampleSet2Similarity
+
+
+ data_to_similarity_data
+ com.rapidminer.operator.similarity.ExampleSet2SimilarityExampleSet
+
+ ExampleSet2SimilarityExampleSet
+
+
+ similarity_to_data
+ com.rapidminer.operator.similarity.Similarity2ExampleSet
+
+ Similarity2ExampleSet
+
+
+ cross_distances
+ com.rapidminer.operator.similarity.CrossDistancesOperator
+
+
+
+
+ sort_descending.png
+
+ weight_by_information_gain
+ com.rapidminer.operator.features.weighting.InfoGainWeighting
+
+ InfoGainWeighting
+
+
+ weight_by_information_gain_ratio
+ com.rapidminer.operator.features.weighting.InfoGainRatioWeighting
+
+ InfoGainRatioWeighting
+
+
+ weight_by_rule
+ com.rapidminer.operator.features.weighting.OneRErrorWeighting
+
+ SingleRuleWeighting
+
+
+ weight_by_value_average
+ com.rapidminer.operator.features.weighting.CorpusBasedFeatureWeighting
+
+ CorpusBasedWeighting
+
+
+ weight_by_deviation
+ com.rapidminer.operator.features.weighting.StandardDeviationWeighting
+
+ StandardDeviationWeighting
+
+
+ weight_by_correlation
+ com.rapidminer.operator.features.weighting.CorrelationWeighting
+
+ CorrelationBasedWeighting
+
+
+ weight_by_chi_squared_statistic
+ com.rapidminer.operator.features.weighting.ChiSquaredWeighting
+
+ ChiSquaredWeighting
+
+
+ weight_by_gini_index
+ com.rapidminer.operator.features.weighting.GiniWeighting
+
+ GiniIndexWeighting
+
+
+ weight_by_forest
+ com.rapidminer.operator.features.weighting.ForestBasedWeighting
+
+
+
+ weight_by_uncertainty
+ com.rapidminer.operator.features.weighting.SymmetricalUncertaintyOperator
+
+ SymmetricalUncertaintyWeighting
+
+
+ weight_by_relief
+ com.rapidminer.operator.features.weighting.ReliefWeighting
+
+ Relief
+
+
+ weight_by_svm
+ com.rapidminer.operator.features.weighting.SVMWeighting
+
+ SVMWeighting
+
+
+ weight_by_pca
+ com.rapidminer.operator.features.weighting.PCAWeighting
+
+ PCAWeighting
+
+
+ weight_by_component_model
+ com.rapidminer.operator.features.weighting.ComponentWeights
+
+ ComponentWeights
+
+
+ weight_by_user_specification
+ com.rapidminer.operator.features.weighting.NameBasedWeighting
+
+ NameBasedWeighting
+
+
+ data_to_weights
+ com.rapidminer.operator.features.weighting.ExampleSet2AttributeWeights
+
+ ExampleSet2AttributeWeights
+
+
+ weights_to_data
+ com.rapidminer.operator.features.weighting.AttributeWeights2ExampleSet
+
+ AttributeWeights2ExampleSet
+
+
+
+
+ form.png
+
+ optimize_parameters_quadratic
+ com.rapidminer.operator.meta.QuadraticParameterOptimizationOperator
+
+ QuadraticParameterOptimization
+
+
+ optimize_parameters_evolutionary
+ com.rapidminer.operator.meta.EvolutionaryParameterOptimizationOperator
+
+ EvolutionaryParameterOptimization
+
+
+ set_parameters
+ com.rapidminer.operator.meta.ParameterSetter
+ ParameterSetter
+
+
+ clone_parameters
+ com.rapidminer.operator.meta.ParameterCloner
+ ParameterCloner
+
+
+
+ table_selection_column.png
+
+ optimize_selection_forward
+ com.rapidminer.operator.features.selection.ForwardAttributeSelectionOperator
+
+ AdvancedForwardSelection
+
+
+ optimize_selection_backward
+ com.rapidminer.operator.features.selection.BackwardAttributeEliminationOperator
+
+ AdvancedBackwardElimination
+
+
+ optimize_selection
+ com.rapidminer.operator.features.selection.FeatureSelectionOperator
+
+ FeatureSelection
+
+
+ optimize_selection_brute_force
+ com.rapidminer.operator.features.selection.BruteForceSelection
+
+ BruteForce
+
+
+ optimize_selection_weight_guided
+ com.rapidminer.operator.features.selection.WeightGuidedSelectionOperator
+
+ WeightGuidedFeatureSelection
+
+
+ optimize_selection_evolutionary
+ com.rapidminer.operator.features.selection.GeneticAlgorithm
+
+ GeneticAlgorithm
+
+
+
+ table_selection_column_add.png
+
+ optimize_by_generation_evolutionary_aggregation
+ com.rapidminer.operator.features.aggregation.EvolutionaryFeatureAggregation
+
+ EvolutionaryAttributeAggregation
+
+
+ optimize_by_generation_gga
+ com.rapidminer.operator.features.construction.GeneratingGeneticAlgorithm
+
+ GeneratingGeneticAlgorithm
+
+
+ optimize_by_generation_aga
+ com.rapidminer.operator.features.construction.AGA
+ AGA
+
+
+ optimize_by_generation_yagga
+ com.rapidminer.operator.features.construction.YAGGA
+
+ YAGGA
+
+
+ optimize_by_generation_yagga2
+ com.rapidminer.operator.features.construction.YAGGA2
+
+ YAGGA2
+
+
+
+ sort_descending.png
+
+ optimize_weights_forward
+ com.rapidminer.operator.features.weighting.ForwardWeighting
+
+ ForwardWeighting
+
+
+ optimize_weights_backward
+ com.rapidminer.operator.features.weighting.BackwardWeighting
+
+ BackwardWeighting
+
+
+ optimize_weights_evolutionary
+ com.rapidminer.operator.features.weighting.EvolutionaryWeighting
+
+ EvolutionaryWeighting
+
+
+ optimize_weights_pso
+ com.rapidminer.operator.features.weighting.PSOWeighting
+
+ PSOWeighting
+
+
+
+
+
+ lightbulb_on.png
+
+
+ rescale_confidences
+ com.rapidminer.operator.postprocessing.PlattScaling
+ PlattScaling
+
+
+ drop_uncertain_predictions
+ com.rapidminer.operator.postprocessing.SimpleUncertainPredictionsTransformation
+
+ UncertainPredictionsTransformation
+
+
+ generate_prediction
+ com.rapidminer.operator.postprocessing.GeneratePredictionOperator
+
+
+
+ generate_prediction_ranking
+ com.rapidminer.operator.postprocessing.GeneratePredictionRankingOperator
+
+
+
+ find_threshold
+ com.rapidminer.operator.postprocessing.ThresholdFinder
+
+ ThresholdFinder
+
+
+ create_threshold
+ com.rapidminer.operator.postprocessing.ThresholdCreator
+
+ ThresholdCreator
+
+
+ apply_threshold
+ com.rapidminer.operator.postprocessing.ThresholdApplier
+
+ ThresholdApplier
+
+
+ select_recall
+ com.rapidminer.operator.postprocessing.RecallChooser
+
+
+
+
+ apply_model
+ com.rapidminer.operator.ModelApplier
+ lightbulb_on.png
+ ModelApplier
+
+
+
+ symbol_percent.png
+
+
+
+ performance_classification
+ com.rapidminer.operator.performance.PolynominalClassificationPerformanceEvaluator
+
+ ClassificationPerformance
+
+
+ performance_binominal_classification
+ com.rapidminer.operator.performance.BinominalClassificationPerformanceEvaluator
+
+ BinominalClassificationPerformance
+
+
+ performance_regression
+ com.rapidminer.operator.performance.RegressionPerformanceEvaluator
+
+ RegressionPerformance
+
+
+ performance_costs
+ com.rapidminer.operator.performance.cost.CostEvaluator
+
+ CostEvaluator
+
+
+ performance_ranking
+ com.rapidminer.operator.performance.cost.RankingEvaluator
+
+
+
+ performance_support_vector_count
+ com.rapidminer.operator.performance.SupportVectorCounter
+
+ SupportVectorCounter
+
+
+ performance_attribute_count
+ com.rapidminer.operator.performance.AttributeCounter
+
+ AttributeCounter
+
+
+
+
+ cluster_count_performance
+ com.rapidminer.operator.validation.clustering.ClusterNumberEvaluator
+
+ ClusterNumberEvaluator
+
+
+ cluster_distance_performance
+ com.rapidminer.operator.validation.clustering.CentroidBasedEvaluator
+
+ ClusterCentroidEvaluator
+
+
+ cluster_density_performance
+ com.rapidminer.operator.validation.clustering.ClusterDensityEvaluator
+
+ ClusterDensityEvaluator
+
+
+ item_distribution_performance
+ com.rapidminer.operator.validation.clustering.exampledistribution.ExampleDistributionEvaluator
+
+ ItemDistributionEvaluator
+
+
+ map_clustering_on_labels
+ com.rapidminer.operator.clustering.ClusterToPrediction
+
+ Cluster2Prediction
+
+
+
+
+ t_test
+ com.rapidminer.operator.validation.significance.TTestSignificanceTestOperator
+
+ T-Test
+
+
+ anova
+ com.rapidminer.operator.validation.significance.AnovaSignificanceTestOperator
+
+ Anova
+
+
+
+ performance
+ com.rapidminer.operator.performance.SimplePerformanceEvaluator
+
+ Performance
+
+
+ extract_performance
+ com.rapidminer.operator.performance.Data2Performance
+ Data2Performance
+
+
+ combine_performances
+ com.rapidminer.operator.performance.WeightedPerformanceCreator
+
+ WeightedPerformanceCreator
+
+
+ performance_user_based
+ com.rapidminer.operator.performance.UserBasedPerformanceEvaluator
+
+ UserBasedPerformance
+
+
+ performance_min_max
+ com.rapidminer.operator.performance.MinMaxWrapper
+ MinMaxWrapper
+
+
+ performance_to_data
+ com.rapidminer.operator.performance.PerformanceVectorToExampleSet
+
+
+
+
+
+ create_lift_chart
+ com.rapidminer.operator.visualization.LiftParetoChartGenerator
+
+ LiftParetoChart
+
+
+ compare_rocs
+ com.rapidminer.operator.visualization.ROCBasedComparisonOperator
+
+ ROCComparator
+
+
+ visualize_model_by_som
+ com.rapidminer.operator.visualization.SOMModelVisualization
+
+ ModelVisualizer
+
+
+
+ split_validation
+ com.rapidminer.operator.validation.SplitValidationOperator
+
+ SimpleValidation
+
+
+ bootstrapping_validation
+ com.rapidminer.operator.validation.BootstrappingValidation
+
+ BootstrappingValidation
+
+
+ wrapper_split_validation
+ com.rapidminer.operator.validation.RandomSplitWrapperValidationChain
+
+ SimpleWrapperValidation
+
+
+ wrapper_x_validation
+ com.rapidminer.operator.validation.WrapperXValidation
+
+ WrapperXValidation
+
+
+
+
+ console.png
+
+ execute_script
+ com.rapidminer.operator.ScriptingOperator
+ Script
+
+
+
+
+ arrow_circle.png
+
+
+ loop_attribute_subsets
+ com.rapidminer.operator.meta.FeatureSubsetIteration
+ FeatureSubsetIteration
+
+
+ loop_examples
+ com.rapidminer.operator.meta.ExampleIterator
+ ExampleIterator
+
+
+ loop_labels
+ com.rapidminer.operator.meta.MultipleLabelIterator
+ MultipleLabelIterator
+
+
+ loop_clusters
+ com.rapidminer.operator.meta.ClusterIterator
+ ClusterIteration
+
+
+ loop_batches
+ com.rapidminer.operator.meta.BatchProcessing
+ BatchProcessing
+
+
+ loop_data_sets
+ com.rapidminer.operator.meta.ExampleSetIterator
+ ExampleSetIterator
+
+
+ loop_data_fractions
+ com.rapidminer.operator.meta.PartialExampleSetLearner
+
+ PartialExampleSetLearner
+
+
+ loop_and_average
+ com.rapidminer.operator.validation.IteratingPerformanceAverage
+
+ IteratingPerformanceAverage
+
+
+ loop_and_deliver_best
+ com.rapidminer.operator.meta.RandomOptimizationChain
+
+ RandomOptimizer
+
+
+ loop_until
+ com.rapidminer.operator.meta.RepeatUntilOperatorChain
+
+ RepeatUntilOperatorChain
+
+
+ loop_collection
+ com.rapidminer.operator.collections.CollectionIterationOperator
+
+ CollectionIterator
+ -1
+
+
+
+ loop_repository
+ com.rapidminer.operator.meta.RepositoryIterator
+ -1
+
+
+ loop_zipfile_entries
+ com.rapidminer.operator.meta.ZippedFileIterator
+ -1
+
+
+
+ elements_branch.png
+
+ branch
+ com.rapidminer.operator.meta.branch.ProcessBranch
+ ProcessBranch
+
+
+ select_subprocess
+ com.rapidminer.operator.meta.OperatorSelector
+ OperatorSelector
+
+
+
+ memory.png
+
+ collect
+ com.rapidminer.operator.collections.CollectionOperator
+
+ Collector
+
+
+ select
+ com.rapidminer.operator.collections.SelectionOperator
+
+ Selector
+
+
+ average
+ com.rapidminer.operator.meta.AverageBuilder
+ AverageBuilder
+
+
+ flatten_collection
+ com.rapidminer.operator.collections.UnfoldOperator
+ Unfold
+
+
+
+
+ handle_exception
+ com.rapidminer.operator.meta.ExceptionHandling
+ band_aid.png
+ ErrorNeglector
+ ExceptionHandling
+
+
+ throw_exception
+ com.rapidminer.operator.meta.ThrowExceptionOperator
+ error.png
+
+
+
+ remember
+ com.rapidminer.operator.IOStorageOperator
+ arrow_to.png
+ IOStorer
+
+
+ recall
+ com.rapidminer.operator.IORetrievalOperator
+ arrow_from.png
+ IORetriever
+
+
+ publish_to_app
+ com.rapidminer.operator.IOPublishToAppOperator
+ arrow_to.png
+
+
+ recall_from_app
+ com.rapidminer.operator.IORecallfromAppOperator
+ arrow_from.png
+
+
+
+ keyboard_key_a.png
+
+ set_macro
+ com.rapidminer.operator.SingleMacroDefinitionOperator
+
+ SingleMacroDefinition
+
+
+ set_macros
+ com.rapidminer.operator.MacroDefinitionOperator
+ MacroDefinition
+
+
+ generate_macro
+ com.rapidminer.operator.MacroConstructionOperator
+ MacroConstruction
+
+
+ extract_macro
+ com.rapidminer.operator.DataMacroDefinitionOperator
+ DataMacroDefinition
+
+
+ unset_macro
+ com.rapidminer.operator.macros.UnsetMacroOperator
+
+
+
+ floppy_disk.png
+
+ open_file
+ com.rapidminer.operator.nio.file.LoadFileOperator
+ arrow_out.png
+
+
+ write_file
+ com.rapidminer.operator.nio.file.WriteFileOperator
+ arrow_into.png
+
+
+ write_message
+ com.rapidminer.operator.FileEchoOperator
+ FileEcho
+ arrow_into.png
+
+
+ write_as_text
+ com.rapidminer.operator.io.ResultWriter
+ ResultWriter
+ arrow_into.png
+
+
+ rename_file
+ com.rapidminer.operator.filesystem.RenameFileOperator
+
+ pencil.png
+
+
+ copy_file
+ com.rapidminer.operator.filesystem.CopyFileOperator
+ copy.png
+
+
+ move_file
+ com.rapidminer.operator.filesystem.MoveFileOperator
+ arrow_junction.png
+
+
+ delete_file
+ com.rapidminer.operator.filesystem.DeleteFileOperator
+
+ delete.png
+
+
+ create_directory
+ com.rapidminer.operator.filesystem.CreateDirectoryOperator
+
+ folder_new.png
+
+
+ create_archive_file
+ box_open_new.png
+ com.rapidminer.operator.nio.file.compression.CreateArchiveFileOperator
+
+
+
+ add_entry_to_archive_file
+ box_into.png
+ com.rapidminer.operator.nio.file.compression.AddEntryToArchiveFile
+
+
+
+
+ bookmark.png
+
+ annotate
+ com.rapidminer.operator.util.annotations.AnnotateOperator
+
+ notebook.png
+
+
+ annotations_to_data
+ com.rapidminer.operator.util.annotations.AnnotationsToData
+
+ notebook_data.png
+
+
+ data_to_annotations
+ com.rapidminer.operator.util.annotations.DataToAnnotations
+
+ notebook_new.png
+
+
+ extract_macro_from_annotation
+ com.rapidminer.operator.util.annotations.ExtractAnnotation
+
+ keyboard_key_a.png
+
+
+
+ data_scroll.png
+
+ log
+ com.rapidminer.operator.visualization.ProcessLogOperator
+
+ ProcessLog
+
+
+ clear_log
+ com.rapidminer.operator.visualization.ClearProcessLog
+
+ ClearProcessLog
+
+
+ extract_log_value
+ com.rapidminer.operator.visualization.Data2Log
+ Data2Log
+
+
+ provide_macro_as_log_value
+ com.rapidminer.operator.visualization.Macro2Log
+ Macro2Log
+
+
+ log_to_weights
+ com.rapidminer.operator.features.weighting.ProcessLog2AttributeWeights
+
+ ProcessLog2AttributeWeights
+
+
+ log_to_data
+ com.rapidminer.operator.visualization.ProcessLog2ExampleSet
+
+ ProcessLog2ExampleSet
+
+
+ print_to_console
+ com.rapidminer.operator.tools.ConsolePrintOperator
+
+
+
+
+
+ data_new.png
+
+ generate_data
+ com.rapidminer.operator.generator.ExampleSetGenerator
+
+ ExampleSetGenerator
+
+
+ generate_data_user_specification
+ com.rapidminer.operator.generator.UserSpecificationDataGenerator
+
+
+
+ generate_nominal_data
+ com.rapidminer.operator.generator.NominalExampleSetGenerator
+
+ NominalExampleSetGenerator
+
+
+ generate_multi_label_data
+ com.rapidminer.operator.generator.MultipleLabelGenerator
+
+ MultipleLabelGenerator
+
+
+ generate_massive_data
+ com.rapidminer.operator.generator.MassiveDataGenerator
+
+ MassiveDataGenerator
+
+
+ generate_direct_mailing_data
+ com.rapidminer.operator.generator.DirectMailingExampleSetGenerator
+
+ DirectMailingExampleSetGenerator
+
+
+ generate_churn_data
+ com.rapidminer.operator.generator.ChurnReductionExampleSetGenerator
+
+ ChurnReductionExampleSetGenerator
+
+
+ generate_up_selling_data
+ com.rapidminer.operator.generator.UpSellingExampleSetGenerator
+
+ UpSellingExampleSetGenerator
+
+
+ generate_sales_data
+ com.rapidminer.operator.generator.SalesExampleSetGenerator
+
+ SalesExampleSetGenerator
+
+
+ generate_team_profit_data
+ com.rapidminer.operator.generator.TeamProfitExampleSetGenerator
+
+ TeamProfitExampleSetGenerator
+
+
+ generate_transfer_data
+ com.rapidminer.operator.generator.TransfersExampleSetGenerator
+
+ TransfersExampleSetGenerator
+
+
+ generate_transaction_data
+ com.rapidminer.operator.generator.TransactionClustersExampleSetGenerator
+
+
+
+ add_noise
+ com.rapidminer.operator.preprocessing.NoiseOperator
+ NoiseGenerator
+
+
+
+ wrench.png
+
+ send_mail
+ com.rapidminer.operator.tools.SendMailOperator
+ mail.png
+
+
+ delay
+ com.rapidminer.operator.tools.DelayOperator
+ hourglass.png
+
+
+ materialize_data
+ com.rapidminer.operator.preprocessing.MaterializeDataInMemory
+
+ MaterializeDataInMemory
+
+
+ free_memory
+ com.rapidminer.operator.MemoryCleanUp
+ MemoryCleanUp
+
+
+ join_paths
+ com.rapidminer.operator.IOMerger
+ wrench.png
+ IOMerger
+
+
+
+ multiply
+ com.rapidminer.operator.IOMultiplier
+ data_copy.png
+ IOMultiplier2
+
+
+ subprocess
+ com.rapidminer.operator.SimpleOperatorChain
+ elements_tree.png
+ OperatorChain
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/com/rapidminer/resources/about_infos.properties b/src/main/resources/com/rapidminer/resources/about_infos.properties
index 6be202039..f95a53aeb 100644
--- a/src/main/resources/com/rapidminer/resources/about_infos.properties
+++ b/src/main/resources/com/rapidminer/resources/about_infos.properties
@@ -1,2 +1,2 @@
-copyright = Copyright (C) 2001 - 2017 RapidMiner GmbH
+copyright = Copyright (C) 2001 - 2018 RapidMiner GmbH
more = More information at http://www.rapidminer.com
\ No newline at end of file
diff --git a/src/main/resources/com/rapidminer/resources/i18n/Errors.properties b/src/main/resources/com/rapidminer/resources/i18n/Errors.properties
index 47cb14f43..4a9319907 100644
--- a/src/main/resources/com/rapidminer/resources/i18n/Errors.properties
+++ b/src/main/resources/com/rapidminer/resources/i18n/Errors.properties
@@ -182,6 +182,7 @@ process.error.no_smtp_mail_port_set = No SMTP port set. Sending mails may not be
process.error.no_send_mail_command = No command for sendmail set. Sending mails may not be possible without a sendmail command.
process.error.attributes_type_mismatch = The attribute ''{0}'' from input port {1} must be of the same type as ''{2}'' from input port {3}.
+process.error.parameter.required_missing = The required parameter ''{0}'' is not set.
repository.illegal_entry_name = Entry ''{0}'' at location ''{1}'' contains characters which cannot be stored on some filesystems and are therefore illegal.
repository.repository_folder_already_exists = Repository folder ''{0}'' already exists.
diff --git a/src/main/resources/com/rapidminer/resources/i18n/GUI.properties b/src/main/resources/com/rapidminer/resources/i18n/GUI.properties
index 41ae427d0..dc4d39e58 100644
--- a/src/main/resources/com/rapidminer/resources/i18n/GUI.properties
+++ b/src/main/resources/com/rapidminer/resources/i18n/GUI.properties
@@ -1,3 +1,4 @@
+
###############
## Icons
###############
@@ -42,7 +43,7 @@ gui.dockkey.log_viewer.short = View recorded events.
gui.dockkey.log_viewer.icon = document_text.png
gui.dockkey.log_viewer.tip = Show the console with log messages.
-gui.dockkey.process_panel.name = Process
+gui.dockkey.process_panel.name = Process
gui.dockkey.process_panel.short = Create and design your process here.
gui.dockkey.process_panel.icon = elements4.png
gui.dockkey.process_panel.tip = Edit the process in graph layout.
@@ -53,58 +54,58 @@ gui.dockkey.xml_editor.icon = code.png
gui.dockkey.xml_editor.tip = Shows the XML definition of the current process setup.
gui.dockkey.property_editor.name = Parameters
-gui.dockkey.property_editor.short = Configure the inner workings of operators in your process.
+gui.dockkey.property_editor.short = Configure operator behavior in your process.
gui.dockkey.property_editor.icon = form_edit.png
gui.dockkey.property_editor.tip = Shows the parameters of the currently selected operator.
gui.dockkey.result.name = Result History
-gui.dockkey.result.short = A history of all process results of the current session.
+gui.dockkey.result.short = A history of all process results this session.
gui.dockkey.result.icon = presentation_chart.png
gui.dockkey.result.tip = Display a list of results of this session's processes.
gui.dockkey.new_operator.name = Operators
-gui.dockkey.new_operator.short = A list of operators available to add to your process.
+gui.dockkey.new_operator.short = All operators available to add to your process.
gui.dockkey.new_operator.icon = elements3.png
-gui.dockkey.new_operator.tip = Shows a view of all available operators for dragging them into processes.
+gui.dockkey.new_operator.tip = Shows a view of all available operators for dragging them into processes.
gui.dockkey.operator_help.name = Help
-gui.dockkey.operator_help.short = Documentation for the currently selected operator.
+gui.dockkey.operator_help.short = Documentation for the selected operator.
gui.dockkey.operator_help.icon = question.png
-gui.dockkey.operator_help.tip = Displays a help text for the current operator.
+gui.dockkey.operator_help.tip = Displays a help text for the current operator.
gui.dockkey.operator_documentation_browser.name = Help
gui.dockkey.operator_documentation_browser.short = Documentation for the currently selected operator.
gui.dockkey.operator_documentation_browser.icon = question.png
-gui.dockkey.operator_documentation_browser.tip = Displays a help text for the current operator.
+gui.dockkey.operator_documentation_browser.tip = Displays a help text for the current operator.
gui.dockkey.macro_viewer.name = Macros
gui.dockkey.macro_viewer.short = Live overview of defined macros.
gui.dockkey.macro_viewer.icon = keyboard_key_a.png
-gui.dockkey.macro_viewer.tip = Displays the current content of the defined macros and allows to edit their values.
+gui.dockkey.macro_viewer.tip = Displays the current content of the defined macros and allows to edit their values.
-gui.dialog.error.operator_documentation_error.message =
Error
Failed to load operator documentation\: {0}
+gui.dialog.error.operator_documentation_error.message =
Error
Failed to load operator documentation\: {0}
gui.dockkey.system_monitor.name = Resource Monitor
-gui.dockkey.system_monitor.short = Displays the hardware resources currently used.
+gui.dockkey.system_monitor.short = Displays the RAM currently used.
gui.dockkey.system_monitor.icon = window_oscillograph.png
-gui.dockkey.system_monitor.tip = Shows information about the current memory usage.
+gui.dockkey.system_monitor.tip = Shows information about the current memory usage.
gui.dockkey.process_context.name = Context
-gui.dockkey.process_context.short = Configure advanced settings for your process.
+gui.dockkey.process_context.short = Advanced process settings and macros.
gui.dockkey.process_context.icon = environment.png
-gui.dockkey.process_context.tip = Edit process context settings.
+gui.dockkey.process_context.tip = Edit process context settings.
gui.dockkey.templates.name = Accelerator
gui.dockkey.templates.icon = gearwheels.png
gui.dockkey.templates.tip = Create data mining applications in three simple steps.
gui.dockkey.history.name = History
-gui.dockkey.history.short = Version control for processes stored on RapidMiner Server.
+gui.dockkey.history.short = Version control for processes on RM Server.
gui.dockkey.history.icon = history.png
gui.dockkey.history.tip = Displays the history of a process which is managed by RapidMiner Server.
gui.dockkey.ioobject_cache_viewer.name = App Objects
-gui.dockkey.ioobject_cache_viewer.short = Simulate a RapidMiner Server app environment.
+gui.dockkey.ioobject_cache_viewer.short = Simulate an RM Server App environment.
gui.dockkey.ioobject_cache_viewer.icon = data_scroll.png
gui.dockkey.ioobject_cache_viewer.tip = View and manage RapidMiner Server App objects in a simulated app.
@@ -134,7 +135,7 @@ gui.toolbar.perspectives.tip = Views
# Workspace actions
gui.action.workspace_design.label = Design
-gui.action.workspace_design.tip = Switch to Design view.
+gui.action.workspace_design.tip = Switch to process Design view.
gui.action.workspace_design.icon = elements_branch.png
gui.action.workspace_design.acc = F8
gui.action.workspace_result.label = Results
@@ -157,22 +158,27 @@ gui.action.toolbar_resources.tip = See your available support and help resources
gui.action.toolbar_resources.tutorials.label = Tutorials
gui.action.toolbar_resources.tutorials.mne = T
gui.action.toolbar_resources.tutorials.icon = blackboard.png
-gui.action.toolbar_resources.tutorials.tip = Open the Tutorials
+gui.action.toolbar_resources.tutorials.tip = Need Help? Open the Tutorials
-gui.action.toolbar_resources.documentation.label = Documentation
+gui.action.toolbar_resources.documentation.label = Documentation (Web)
gui.action.toolbar_resources.documentation.mne = D
gui.action.toolbar_resources.documentation.icon = folder2.png
-gui.action.toolbar_resources.documentation.tip = Browse the Documentation
+gui.action.toolbar_resources.documentation.tip = Need Help? Browse the online Documentation
+
+gui.action.toolbar_resources.help_videos.label = Training Videos (Web)
+gui.action.toolbar_resources.help_videos.mne = V
+gui.action.toolbar_resources.help_videos.icon = movie_camera.png
+gui.action.toolbar_resources.help_videos.tip = Need Help? Browse the online training videos.
-gui.action.toolbar_resources.help_forum.label = Community Forum
+gui.action.toolbar_resources.help_forum.label = Community Forum (Web)
gui.action.toolbar_resources.help_forum.mne = F
gui.action.toolbar_resources.help_forum.icon = question_and_answer.png
-gui.action.toolbar_resources.help_forum.tip = Visit the RapidMiner community forum for questions and discussions regarding RapidMiner Studio and data mining in general.
+gui.action.toolbar_resources.help_forum.tip = Need Help? Visit the RapidMiner community forum for questions and discussions regarding RapidMiner Studio and data mining in general.
-gui.action.toolbar_resources.support.label = Support
+gui.action.toolbar_resources.support.label = Support (Web)
gui.action.toolbar_resources.support.mne = S
gui.action.toolbar_resources.support.icon = user_headset.png
-gui.action.toolbar_resources.support.tip = Browse the Support Page
+gui.action.toolbar_resources.support.tip = Need Help? Browse the Support Page
gui.dialog.error.tutorials_not_available.title = No Tutorials
gui.dialog.error.tutorials_not_available.message = The tutorials are not available in this RapidMiner version.
@@ -1099,7 +1105,7 @@ gui.action.install_license.tip = Installs a purchased license.
gui.action.add_data.label = Add Data
gui.action.add_data.icon = add.png
-gui.action.add_data.tip = Import data into an existing repository.
+gui.action.add_data.tip = Import data into a repository.
gui.action.further_repository_actions.label =
gui.action.further_repository_actions.icon = bars.png
@@ -1261,7 +1267,7 @@ gui.action.validate_automatically.icon = checkbox.png
gui.action.run.label = Run Process Locally
gui.action.run.icon = media_play.png
-gui.action.run.tip = Run or resume the current process
+gui.action.run.tip = Start the execution of the current process or resume from breakpoint
gui.action.run.mne = R
gui.action.run.acc = F11
@@ -1370,10 +1376,10 @@ gui.action.menu.perspectives.label = Views
gui.action.menu.perspectives.icon = windows.png
gui.action.menu.perspectives.tip = Select the view.
-gui.action.new_perspective.label = New View...
+gui.action.new_perspective.label = New custom View...
gui.action.new_perspective.icon = windows_new.png
gui.action.new_perspective.mne = N
-gui.action.new_perspective.tip = Create a new view.
+gui.action.new_perspective.tip = Create a new custom view based on the current view.
gui.action.restore_predefined_perspective_default.label = Restore Default View
gui.action.restore_predefined_perspective_default.mne = R
@@ -1456,7 +1462,7 @@ gui.action.tour.tip = Starts the interactive RapidMiner Studio tour.
gui.action.about.label = About RapidMiner Studio...
gui.action.about.mne = A
gui.action.about.icon = information.png
-gui.action.about.tip = Display information about RapidMiner Studio
+gui.action.about.tip = Display information about this RapidMiner Studio version
#gui.action.gui_manual.label = RapidMiner GUI Manual...
#gui.action.gui_manual.mne = G
@@ -2087,7 +2093,7 @@ gui.repository.not_accessible.message = NOT ACCESSIBLE
gui.action.add_repository.label = Create repository
gui.action.add_repository.mne = A
gui.action.add_repository.icon = plus.png
-gui.action.add_repository.tip = Create a new local repository or connect to a RapidMiner Server repository.
+gui.action.add_repository.tip = Add a new local repository or connect to a RapidMiner Server repository.
gui.action.configure_repository.label = Configure Repository
gui.action.configure_repository.mne = C
@@ -4354,10 +4360,9 @@ gui.dialog.error.rapid_doc_bot_importer_error.title = Failed to show helptext
# The Password Manager
########################################
gui.dialog.password_manager.label = Manage Passwords
-gui.dialog.password_manager.title = Password Manager to manage your Passwords
+gui.dialog.password_manager.title = Password Manager
gui.dialog.password_manager.message = In this window you can see your cached user credentials. \
- Passwords are hidden by default. To make them visible, click "Show Passwords". You can delete \
- entries by marking them in the table and pressing "Remove Row" and change your username and \
+ You can delete entries by marking them in the table and pressing "Remove Row" and change your username and \
password by changing the data in the table.
gui.dialog.password_manager.tip = A password manager for all your saved passwords.
gui.dialog.password_manager.icon = key_tool.png
@@ -4365,15 +4370,6 @@ gui.dialog.password_manager.icon = key_tool.png
gui.action.password_manager.label = Manage Passwords
gui.action.password_manager.icon = key_tool.png
-gui.action.password_manager_showpasswords.label = Show Passwords
-gui.action.password_manager_showpasswords.tip = Click here to make your passwords visible.
-gui.action.password_manager_showpasswords.icon = magnifying_glass.png
-gui.action.password_manager_remove_row.mne = D
-
-gui.action.password_manager_hidepasswords.label = Hide passwords
-gui.action.password_manager_hidepasswords.tip = Click here to hide your passwords.
-gui.action.password_manager_hidepasswords.icon = magnifying_glass.png
-
gui.action.password_manager_remove_row.label = Delete Row
gui.action.password_manager_remove_row.icon = table_selection_row_delete.png
gui.action.password_manager_remove_row.tip = Delete the selected row.
@@ -4977,6 +4973,9 @@ gui.progress.configurable_action.label = Executing action
gui.dialog.configurable_dialog.error.missing_value.label = Value for ''{0}'' missing!
+gui.dialog.confirm.configurable_confirm_refresh.title = Refresh Connections
+gui.dialog.confirm.configurable_confirm_refresh.icon = data_network_delete.png
+gui.dialog.confirm.configurable_confirm_refresh.message = All unsaved changes will be lost. Continue?
## Progress Dialog
gui.action.stop_progress.label = Stop
@@ -5956,4 +5955,54 @@ gui.label.extension.json.version = rmversion
#### CTA ####
gui.label.cta.json.local = cta-test-rules.json
-gui.label.cta.json.remote = https://redirects.rapidminer.com/app/studio/7/cta
\ No newline at end of file
+gui.label.cta.json.remote = https://redirects.rapidminer.com/app/studio/7/cta
+
+#### Global Search #####
+gui.dialog.global_search.title = Global Search
+gui.dialog.global_search.icon = magnifying_glass.png
+gui.dialog.global_search.no_results.label = No results found!
+gui.dialog.global_search.no_categories.label = Something went terribly wrong. No search categories found! Please check the Studio log file for errors.
+
+gui.action.global_search.label = Search everywhere
+gui.action.global_search.tip = Search everything, e.g. Operators, Repositories, etc.
+gui.action.global_search.load_more.label = {0} more results. Click to load more.
+gui.action.global_search.load_more.tip = There are {0} more results than currently displayed. Click to load more.
+gui.action.global_search.search_all_instead.label = Try searching everywhere instead
+gui.action.global_search.search_all_instead.tip = You did not find any results for the category you searched in. Click here to try searching in all of Studio instead.
+gui.field.global_search.prompt = Find data, operators...etc
+
+gui.action.global_search.action.perspective.name = Switch to View: {0}
+gui.action.global_search.action.dockable.name = Display Panel: {0}
+gui.action.global_search.action.dockable.tip = If the panel is not yet part of this view it will be added, otherwise it will be brought to the foreground.
+
+gui.component.global_search.operators.category.title = Operators
+gui.component.global_search.repository.category.title = Repository
+gui.component.global_search.action.category.title = Actions
+gui.component.global_search.marketplace.category.title = Marketplace
+
+gui.progress.global_search.remote_repo.search_index.label = Creating fast search index for {0}
+gui.progress.global_search.remote_repo.search_index_full.label = Creating full search index for {0}
+gui.progress.global_search.repo.search_index_fast.label = Creating fast search index for {0}
+gui.progress.global_search.repo.search_index_full.label = Creating full search index for {0}
+
+gui.progress.global_search.manager.init_index.operator.label = Indexing operators
+gui.progress.global_search.manager.init_index.repository.label = Indexing repositories
+gui.progress.global_search.manager.init_index.action.label = Indexing actions
+gui.progress.global_search.manager.init_index.marketplace.label = Indexing Marketplace content
+
+gui.action.global_search.toolbar.label = Filter
+gui.action.global_search.toolbar.tip = Select the category you want to search in.
+
+gui.label.global_search.filter_all.label = All Studio
+gui.label.global_search.run_search.label = Search
+gui.label.global_search.run_search.tip = Search for anything (operators, data, connections, ...)
+gui.label.global_search.category_pending.label = Searching...
+
+gui.label.global_search.marketplace.vendor.label = Vendor
+gui.label.global_search.marketplace.vendor_supported.label = SUPPORTED
+gui.label.global_search.marketplace.vendor_supported.tip = Click to learn about our Customer Support & Maintenance Policy for extensions.
+gui.label.global_search.marketplace.vendor_supported.url = http://redirects.rapidminer.com/marketplace/support-policy
+gui.progress.global_search.marketplace.update_index.label = Re-indexing Marketplace content
+
+gui.dialog.error.global_search.cannot_open.title = Cannot open entry
+gui.dialog.error.global_search.cannot_open.message = Failed to open the entry: {0}
diff --git a/src/main/resources/com/rapidminer/resources/i18n/LogMessages.properties b/src/main/resources/com/rapidminer/resources/i18n/LogMessages.properties
index 7dd91e72b..3066db27c 100644
--- a/src/main/resources/com/rapidminer/resources/i18n/LogMessages.properties
+++ b/src/main/resources/com/rapidminer/resources/i18n/LogMessages.properties
@@ -324,10 +324,11 @@ com.rapidminer.tools.ParentResolvingMap.group_properties_resource_not_found=Grou
com.rapidminer.gui.OperatorDocEditor.inserting_link_error=Error inserting link: {0}
com.rapidminer.gui.security.Wallet.reading_secrets_file=Reading secrets file.
com.rapidminer.gui.security.Wallet.reading_secrets_file_error=Failed to read secrets file: {0}
-com.rapidminer.gui.security.Wallet.reading_entry_in_secrets_file_error=Failed to read entry in secrets file: {0}
+com.rapidminer.gui.security.Wallet.reading_entry_in_secrets_file_error=Failed to read entry {0} in secrets file: {1}
com.rapidminer.gui.security.Wallet.saving_secrets_file=Saving secrets file.
com.rapidminer.gui.security.Wallet.creating_xml_document_error=Failed to create XML document: {0}
com.rapidminer.gui.security.Wallet.saving_secrets_file_error=Failed to save secrets file: {0}
+com.rapidminer.gui.security.Wallet.store_entry_failed=Error storing entry for key {0}: {1}
com.rapidminer.operator.nio.model.WizardState.reading_example_set=Reading example set...
com.rapidminer.repository.RepositoryManager.adding_home_repository=Adding home repository {0}.
com.rapidminer.repository.RepositoryManager.illegal_repository_url=Illegal repository URL {0}: {1}
@@ -695,9 +696,9 @@ com.rapidminer.operator.preprocessing.filter.NominalToNumericModel.unexpected_va
com.rapidminer.tools.ProxyService.migrate=Migrating existing proxy settings
-com.rapidminer.gui.local.search.ExtensionService.extensions_load_failed=Failed to load extension cache. Reason: {0}
-com.rapidminer.gui.local.search.ExtensionService.extensions_load_failed.empty_result=Failed to load extension cache. Reason: Empty response with status code {0}
-com.rapidminer.gui.local.search.ExtensionService.extensions_load_failed.server_error=Failed to load extension cache. Reason: HTTP status code {0}
+com.rapidminer.search.ExtensionService.extensions_load_failed=Failed to load extension cache. Reason: {0}
+com.rapidminer.search.ExtensionService.extensions_load_failed.empty_result=Failed to load extension cache. Reason: Empty response with status code {0}
+com.rapidminer.search.ExtensionService.extensions_load_failed.server_error=Failed to load extension cache. Reason: HTTP status code {0}
com.rapidminer.operator.GroupedModel.couldnt_create_operator=An error occurred while trying to calculate the progress of the application of GroupedModel.
com.rapidminer.operator.learner.meta.StackingModel.couldnt_create_operator=An error occurred while trying to calculate the progress of the application of StackingModel.
@@ -737,6 +738,59 @@ com.rapidminer.tools.usagestats.RuleService.load.empty = No CTA rules found via
com.rapidminer.gui.tools.BrowserPopup.dispose.failed = Disposal of cta message failed, recovering...
com.rapidminer.gui.tools.BrowserPopup.result.interupted = Interrupted while waiting for the user reaction.
+com.rapidminer.global_search.searchindexer.setup_failed = Failed to set up Global Search. Search disabled!
+com.rapidminer.global_search.searchindexer.setup_self_fix_start = Cannot prepare Global Search index directory. Trying to fix the problem.
+com.rapidminer.global_search.searchindexer.setup_self_fix_success = Successfully fixed Global Search index directory. Search enabled!
+com.rapidminer.global_search.searchindexer.setup_self_fix_failed = Failed to fix index folder for Global Search.
+com.rapidminer.global_search.searchindexer.add_failed = Failed to add search documents for category {0}: {1}!
+com.rapidminer.global_search.searchindexer.update_failed = Failed to update search documents for category {0}: {1}!
+com.rapidminer.global_search.searchindexer.remove_failed = Failed to remove search documents for category {0}: {1}!
+com.rapidminer.global_search.searchindexer.discarded_document_missing_field = Discarded document for search category {0} from indexing due to missing {1} field!
+
+com.rapidminer.global_search.searchhandler.search_failed = Cannot search, failed to access Global Search index!
+
+com.rapidminer.gui.search.globalsearchdialog.no_gui_component = No GUI component provided for Global Search category {0}, cannot display results!
+com.rapidminer.gui.search.globalsearchdialog.gui_component_too_high = GUI component provided for Global Search category {0} exceeds height limit, cannot display results!
+com.rapidminer.gui.search.globalsearchdialog.gui_component_opaque = GUI component provided for Global Search category {0} is opaque, cannot display results!
+com.rapidminer.gui.search.globalsearchdialog.missing_drag_support = The GUI component provided for Global Search category {0} claims to support drag&drop, but did not provide the drag support object!
+com.rapidminer.gui.search.globalsearchdialog.no_gui_provider = No SearchableGUIProvider registered for Global Search category {0}, cannot display results!
+
+com.rapidminer.search.GlobalSearchRegistry.category_added = Global Search category {0} registered.
+com.rapidminer.search.GlobalSearchRegistry.category_removed = Global Search category {0} unregistered.
+
+com.rapidminer.gui.search.GlobalSearchGUIRegistry.provider_added = Global Search GUI provider added for category {0}.
+com.rapidminer.gui.search.GlobalSearchGUIRegistry.provider_removed = Global Search GUI provider removed for category {0}.
+
+com.rapidminer.repository.global_search.RepositorySearchManager.error.no_key = Cannot open repository entry, key was null!
+com.rapidminer.repository.global_search.RepositorySearchManager.error.open_location = Cannot open repository entry!
+com.rapidminer.repository.global_search.RepositorySearchManager.error.browse_location = Cannot browse repository entry: {0}!
+com.rapidminer.repository.global_search.RepositorySearchManager.error.lazy_loading = Failed to asynchronously load Global Search repository result!
+com.rapidminer.repository.global_search.RepositorySearchManager.error.initial_index_error_folder = Failed to fast index repository folder {0} for Global Search!
+com.rapidminer.repository.global_search.RepositorySearchManager.error.initial_index_full_error_folder = Failed to fully index repository folder {0} for Global Search!
+com.rapidminer.repository.global_search.RepositorySearchManager.error.delete_index_error_folder = Failed to remove repository folder from Global Search!
+com.rapidminer.repository.global_search.RepositorySearchManager.error.initial_index_error_remote_folder = Failed to index remote repository folder {0} for Global Search: {1}!
+com.rapidminer.repository.global_search.RepositorySearchManager.error.initial_index_error_md_reading = Failed to read meta data of repository entry for Global Search!
+
+com.rapidminer.gui.processeditor.global_search.OperatorSearchManager.error.no_key = Cannot insert operator, key was null!
+com.rapidminer.gui.processeditor.global_search.OperatorSearchManager.error.operator_browse_error = Cannot preview operator, creation failed: {0}!
+com.rapidminer.gui.processeditor.global_search.OperatorSearchManager.error.operator_creation_error = Cannot insert operator, creation failed: {0}!
+
+com.rapidminer.gui.actions.search.ActionsGlobalSearchManager.error.index_action.name_null = Failed to index action {0}, name was null!
+com.rapidminer.gui.actions.search.ActionsGlobalSearchManager.error.index_action.serialization_failed = Failed to index action {0}, storing action failed!
+com.rapidminer.gui.actions.search.ActionsGlobalSearchManager.error.deserialize_action = Cannot restore action!
+com.rapidminer.gui.actions.search.ActionsGlobalSearchManager.error.delete_views_error = Failed to remove view actions from Global Search!
+com.rapidminer.gui.actions.search.ActionsGlobalSearchManager.error.find_action_error = Cannot figure out if action is registered to Global Search!
+com.rapidminer.gui.actions.search.ActionsGlobalSearchManager.error.delete_dockables_error = Failed to remove panel actions from Global Search!
+
+com.rapidminer.gui.globalsearch.MarketplaceGlobalSearchGUIProvider.error.lazy_loading = Failed to load extension icon. Using fallback.
+com.rapidminer.gui.globalsearch.MarketplaceGlobalSearchGUIProvider.error.lazy_loading_code = Failed to load {0} extension icon. Status code was {1}. Using fallback.
+
+com.rapidminer.repository.global_search.MarketplaceGlobalSearchManager.error.delete_all_documents = Failed to remove outdated marketplace content from Global Search!
+
+com.rapidminer.search.AbstractGlobalSearchManager.error.init = Failed to initialize Global Search category. Category not available!
+
+com.rapidminer.gui.tools.ResourceAction.error.update_global_search = Failed to update action for Global Search!
+
com.rapidminer.deployment.update.client.listmodels.UpdatePackageListModel.malformed_version=Bad VersionNumber when updating package list for {0} [{1}]: {2}
com.rapidminer.deployment.update.client.UpdateDialog.malformed_version=Bad VersionNumber in UpdateDialog for {0} [{1}]: {2}
com.rapidminer.deployment.update.client.UpdateListCellRenderer.malformed_version=Bad VersionNumber updating list cell for {0} [{1}]: {2}
diff --git a/src/main/resources/com/rapidminer/resources/i18n/OperatorsCoreDocumentation.xml b/src/main/resources/com/rapidminer/resources/i18n/OperatorsCoreDocumentation.xml
index 1d289e601..35e824383 100644
--- a/src/main/resources/com/rapidminer/resources/i18n/OperatorsCoreDocumentation.xml
+++ b/src/main/resources/com/rapidminer/resources/i18n/OperatorsCoreDocumentation.xml
@@ -2168,7 +2168,7 @@
Performance
- k-Means
+ k-Means (Deprecated)Clustering with k-meansThis operator represents an implementation of k-means. This
operator will create a cluster attribute if not present yet.
@@ -2759,7 +2759,7 @@
featurevaluetypefilter
- Join
+ Join (Deprecated)Build the join of two example sets using the id attributes
of the sets in order to identify the same examples.<p> Build the join of two example sets using the id
@@ -5846,7 +5846,7 @@
examplevisualizer
- Correlation Matrix
+ Correlation Matrix (Deprecated)Determines the correlation between all attributes and can
produce a weight vector based on correlations.<p>This operator calculates the correlation matrix between
diff --git a/src/main/resources/com/rapidminer/resources/i18n/Settings.properties b/src/main/resources/com/rapidminer/resources/i18n/Settings.properties
index ba641993e..7a12e22b5 100644
--- a/src/main/resources/com/rapidminer/resources/i18n/Settings.properties
+++ b/src/main/resources/com/rapidminer/resources/i18n/Settings.properties
@@ -34,6 +34,10 @@ proxy.title = Proxy
proxy.description =
#Proxy Settings
+search.title = Search
+search.description =
+#Search Settings
+
###############
## Sub-Groups
###############
@@ -56,6 +60,8 @@ rapidminer.preferences.subgroup.gui.beep.title = Feedback sounds
rapidminer.preferences.subgroup.gui.limits.title = Limits
rapidminer.preferences.subgroup.gui.modelling.title = Process editor
+rapidminer.preferences.subgroup.search.repository.title = Repository Search Settings
+
##############################
## Properties General
##############################
@@ -367,3 +373,10 @@ rapidminer.update.purchased.not_installed.check.description = Check for recently
rapidminer.update.beta_features.title = Enable beta mode (experimental features)
rapidminer.update.beta_features.description = This activates a preview of experimental features that are not safe for production use. Use this at your own risk.
+
+##############################
+## Properties Search
+##############################
+
+rapidminer.search.repository.enable_full_indexing.title = Enable detailed repository search indexing
+rapidminer.search.repository.enable_full_indexing.description = This activates a detailed scan of each repository on start-up to add more search capabilities, e.g. finding data and models by their contained attribute names. This can take a lot of time for very large repositories. Requires a restart to take effect.
\ No newline at end of file
diff --git a/src/main/resources/com/rapidminer/resources/i18n/UserErrorMessages.properties b/src/main/resources/com/rapidminer/resources/i18n/UserErrorMessages.properties
index d73abe8dc..404447bee 100644
--- a/src/main/resources/com/rapidminer/resources/i18n/UserErrorMessages.properties
+++ b/src/main/resources/com/rapidminer/resources/i18n/UserErrorMessages.properties
@@ -1090,8 +1090,8 @@ error.xlsx_file_missing_entry.short= The selected XLSX file seems to be malforme
error.xlsx_file_missing_entry.long = Try to repair it by opening it in Excel and saving it again.
error.xlsx_content_malformed.name = XLSX file content is malformed
-error.xlsx_content_malformed.name = The selected XLSX file seems to be malformed as it's content is in an invalid state.
-error.xlsx_content_malformed.name = Try to repair it by opening it in Excel and saving it again.
+error.xlsx_content_malformed.short = The selected XLSX file seems to be malformed as it's content is in an invalid state.
+error.xlsx_content_malformed.long = Try to repair it by opening it in Excel and saving it again.
error.expression_evaluation_failed.name = Expression evaluation error
error.expression_evaluation_failed.short = Error evaluating expression: {0}
@@ -1140,3 +1140,7 @@ error.seemingly_unrelated_regression.too_few_inputs.long = This operator needs
error.seemingly_unrelated_regression.singular_matrix_found.name = Similar inputs
error.seemingly_unrelated_regression.singular_matrix_found.short = Similar inputs are connected to unrelated ports.
error.seemingly_unrelated_regression.singular_matrix_found.long = This operator cannot work when similar inputs are connected to unrelated ports. Did you connect the same ExampleSet to 2 ports?
+
+error.regularized_discriminant_analysis.singular_covariance_matrix.name = Covariance matrix not invertible
+error.regularized_discriminant_analysis.singular_covariance_matrix.short = The covariance matrix could not inverted.
+error.regularized_discriminant_analysis.singular_covariance_matrix.long = Check the "approximate_covariance_inverse" parameter and/or make sure that the data provided is sufficient.
diff --git a/src/main/resources/com/rapidminer/resources/samples/processes/02_Preprocessing/15_ExampleSetJoin.rmp b/src/main/resources/com/rapidminer/resources/samples/processes/02_Preprocessing/15_ExampleSetJoin.rmp
index 84e4858c2..126115a9d 100644
--- a/src/main/resources/com/rapidminer/resources/samples/processes/02_Preprocessing/15_ExampleSetJoin.rmp
+++ b/src/main/resources/com/rapidminer/resources/samples/processes/02_Preprocessing/15_ExampleSetJoin.rmp
@@ -58,7 +58,7 @@
-
+
diff --git a/src/main/resources/com/rapidminer/resources/samples/processes/02_Preprocessing/21_CreateAndNameOutlierCluster.rmp b/src/main/resources/com/rapidminer/resources/samples/processes/02_Preprocessing/21_CreateAndNameOutlierCluster.rmp
index 06a884c44..baf7b9636 100644
--- a/src/main/resources/com/rapidminer/resources/samples/processes/02_Preprocessing/21_CreateAndNameOutlierCluster.rmp
+++ b/src/main/resources/com/rapidminer/resources/samples/processes/02_Preprocessing/21_CreateAndNameOutlierCluster.rmp
@@ -171,7 +171,7 @@
-
+
diff --git a/src/main/resources/com/rapidminer/resources/samples/processes/02_Preprocessing/22_CreateAndNameOutlierCluster.rmp b/src/main/resources/com/rapidminer/resources/samples/processes/02_Preprocessing/22_CreateAndNameOutlierCluster.rmp
index b10aab468..d91900243 100644
--- a/src/main/resources/com/rapidminer/resources/samples/processes/02_Preprocessing/22_CreateAndNameOutlierCluster.rmp
+++ b/src/main/resources/com/rapidminer/resources/samples/processes/02_Preprocessing/22_CreateAndNameOutlierCluster.rmp
@@ -171,7 +171,7 @@
-
+
diff --git a/src/main/resources/com/rapidminer/resources/samples/processes/07_Clustering/01_KMeans.rmp b/src/main/resources/com/rapidminer/resources/samples/processes/07_Clustering/01_KMeans.rmp
index f98ac30b4..42ac84b51 100644
--- a/src/main/resources/com/rapidminer/resources/samples/processes/07_Clustering/01_KMeans.rmp
+++ b/src/main/resources/com/rapidminer/resources/samples/processes/07_Clustering/01_KMeans.rmp
@@ -15,7 +15,7 @@
-
+
diff --git a/src/main/resources/com/rapidminer/resources/samples/processes/07_Clustering/02_RestartsKMeans.rmp b/src/main/resources/com/rapidminer/resources/samples/processes/07_Clustering/02_RestartsKMeans.rmp
index ec535c0e8..8ded835cc 100644
--- a/src/main/resources/com/rapidminer/resources/samples/processes/07_Clustering/02_RestartsKMeans.rmp
+++ b/src/main/resources/com/rapidminer/resources/samples/processes/07_Clustering/02_RestartsKMeans.rmp
@@ -29,7 +29,7 @@
-
+
diff --git a/src/main/resources/com/rapidminer/resources/samples/processes/07_Clustering/06_ClusterClassificationWithEvaluation.rmp b/src/main/resources/com/rapidminer/resources/samples/processes/07_Clustering/06_ClusterClassificationWithEvaluation.rmp
index 10a98e77c..5891770ca 100644
--- a/src/main/resources/com/rapidminer/resources/samples/processes/07_Clustering/06_ClusterClassificationWithEvaluation.rmp
+++ b/src/main/resources/com/rapidminer/resources/samples/processes/07_Clustering/06_ClusterClassificationWithEvaluation.rmp
@@ -15,7 +15,7 @@
-
+
diff --git a/src/main/resources/com/rapidminer/resources/samples/processes/07_Clustering/07_ClusterClassification.rmp b/src/main/resources/com/rapidminer/resources/samples/processes/07_Clustering/07_ClusterClassification.rmp
index cfbea1066..5b4890f8c 100644
--- a/src/main/resources/com/rapidminer/resources/samples/processes/07_Clustering/07_ClusterClassification.rmp
+++ b/src/main/resources/com/rapidminer/resources/samples/processes/07_Clustering/07_ClusterClassification.rmp
@@ -15,7 +15,7 @@
-
+
diff --git a/src/main/resources/com/rapidminer/resources/samples/processes/07_Clustering/08_KMeansWithEvaluation.rmp b/src/main/resources/com/rapidminer/resources/samples/processes/07_Clustering/08_KMeansWithEvaluation.rmp
index fd7c7a6dc..bb36ca593 100644
--- a/src/main/resources/com/rapidminer/resources/samples/processes/07_Clustering/08_KMeansWithEvaluation.rmp
+++ b/src/main/resources/com/rapidminer/resources/samples/processes/07_Clustering/08_KMeansWithEvaluation.rmp
@@ -15,7 +15,7 @@
-
+
diff --git a/src/main/resources/com/rapidminer/resources/samples/processes/07_Clustering/09_KMeansWithPlot.rmp b/src/main/resources/com/rapidminer/resources/samples/processes/07_Clustering/09_KMeansWithPlot.rmp
index 633980852..2639a0cf6 100644
--- a/src/main/resources/com/rapidminer/resources/samples/processes/07_Clustering/09_KMeansWithPlot.rmp
+++ b/src/main/resources/com/rapidminer/resources/samples/processes/07_Clustering/09_KMeansWithPlot.rmp
@@ -22,7 +22,7 @@
-
+
diff --git a/src/main/resources/com/rapidminer/resources/samples/processes/07_Clustering/11_TopDownClustering.rmp b/src/main/resources/com/rapidminer/resources/samples/processes/07_Clustering/11_TopDownClustering.rmp
index 11fb90e40..054c90192 100644
--- a/src/main/resources/com/rapidminer/resources/samples/processes/07_Clustering/11_TopDownClustering.rmp
+++ b/src/main/resources/com/rapidminer/resources/samples/processes/07_Clustering/11_TopDownClustering.rmp
@@ -20,7 +20,7 @@
-
+
diff --git a/src/main/resources/com/rapidminer/resources/settings.xml b/src/main/resources/com/rapidminer/resources/settings.xml
index 2b2f01da9..5f83b2119 100644
--- a/src/main/resources/com/rapidminer/resources/settings.xml
+++ b/src/main/resources/com/rapidminer/resources/settings.xml
@@ -140,4 +140,9 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/com/rapidminer/resources/splash_infos.properties b/src/main/resources/com/rapidminer/resources/splash_infos.properties
index 6be202039..f95a53aeb 100644
--- a/src/main/resources/com/rapidminer/resources/splash_infos.properties
+++ b/src/main/resources/com/rapidminer/resources/splash_infos.properties
@@ -1,2 +1,2 @@
-copyright = Copyright (C) 2001 - 2017 RapidMiner GmbH
+copyright = Copyright (C) 2001 - 2018 RapidMiner GmbH
more = More information at http://www.rapidminer.com
\ No newline at end of file
diff --git a/src/main/resources/com/rapidminer/resources/template/credit_risk_modeling.template b/src/main/resources/com/rapidminer/resources/template/credit_risk_modeling.template
index cdd82d192a2bf348d04d5200d47bf86b9b66ea62..2e2dfd87d52bdc6b013b85666e19aa49595287b5 100644
GIT binary patch
literal 70520
zcmV(zK<2+tO9KQH0000809cD|OJUlX$!7Eb03!kc02%-Q07GweZggdGaA9(Ec_310
zb88?(VRT_GX>V_ow+B=dU9{)hzR`=?vuKzi^_Bplp?|lYi{$Om&jgPnmbxpzA&-SGsm8iTbo!InH%WX>6zOaV9#;?^ETWEme_9`
z><3T7!1_NgUXi!7Fk(?QuzJCA539F$j@7bQ8nUQaTABUxQ$p{hiOqiu`_F-IW$=HT
z;-BN}|4+j5*x;3|iIu?%1B?F(^#3MjmNa-~gVkCav)nVcv}cj9v@@{MGcsU#tY>3l
z`7Z{bl{e9QW@2t)(52LE~t23ZRm11ke-oBw{6ssBmWBP&Zo6B`x@amA109w*GI+&OA1-v9+>bv9w^3wXnm6YoPz%*pF2IOZ~4m1JgYd2ka#Ok;i{B
z`yUzpx2ZX=WNc|=^Z#8MB|UQk>wi50qm;u-0}E?|f0U06>p|8?R2b~8>A2Jv}O8Z>FSB1Jzyl
zw^v@+iozV@Y*yMLEz}M@+e|PFg{d1?DU?r3!N7^5!qAKp!gr9zXFSUXlTlonoRW#q
zU3I0uO1%K7&S{gzN*N&6q}3H+{4oq{$q*fUbcsZY7mJ1C7WxqGEs@0tHdCl^4$%Jn
z