0.44 (2014/07/05) -progress is now managed in Task, children only call fireUpdateProgress(progress) -[javafx] NotificationsController now updates via Task's update-listener -ImportTask now manages updated progress-value -added UpdateListener to Task -added default-body to EntryAttribute#isMetaData() -removed obsolete EntryStoreTest -[javafx] updated all implemented EntryViews -[javafx] added TestEntryView as a simple Stage to display EntryViews -[javafx] removed EntryView#resize() -> EntryView-implementation has to implement the correct resize-operations itself -[javafx] JavaFX-GUI now sets application-icons from IconSet -[swing] EntryArchivePane now uses ContainerHandler -rewrote ContainerHandler and ArchiveHandler now implements ContainerHandler -URLHandler now only allows one call to #retrieveResourceLength() per resource at a time -EntryUtilities and URLHandler now use some default User-Agent to circumvent limitated access -added ModelsRatingImporter to import,lookup,search Entries from modelsrating.com as first use of repeatable FeatureImplementation -added support for repeatable FeatureImplementations to Module -moved TestEntryImporter to mediaCenter.test.unit -added HTMLMediaImporter importing content out of <img>, <audio> and <video> tags of an HTML page -added FeatureImplementations and @Repeatable to FeatureImplementation -[javafx] added Dialogs#createDynamicTooltip() to crate Tooltips which update on values changing -[javafx] added JFXUtils#loadFXML() to load a Node from an FXML-file -[javafx] added mediaView.fxml now used by EntryMediaView -[javafx] opening of multiple Entries in TreeTableController now working -[jmdb] fixed bug in DataTools -Module#getParameterKeys() now returns SortedSet -added CoreUtils#asSortedSet(T...) as pendant to Arrays#asList(T...) -[javafx] added ANIMATED-parameter -changed parameter from MetaHandler#getHTMLContent() from URI to Entry -added WebPageHandler as ContentHandler (MetaHandler) for web-pages -moved MetaHandler to mediaCenter.content.entries.content -[javafx] added Module-Parameters editor to Options -added ConsumerTask to run a Consumer over the result of a previous Task and some methods to TaskPool -added Task#stop -[javafx] EntryImageView and EntryGroupView now working -removed exact-Flag of Entry#isInCategory() -SearchEngine now stream-processes and filters the Entry -DuplicateEntriesTool now accepts Comparator and returns SortedSet -[swing] SwingActions now support any kind of collection -Searchable#getEntries() now returns SortedSet -[javafx] Browser and TagCloud now fully functioning, EntryView works at default implementation 0.43 (2014/04/22) -[swing] at the moment drag'n drop is not working through removing "simple" Categories -removed AutoCategory -added ContentStore and various implementations to increase performance accessing content -added EntryStore and EntryStoreTest to increase performance in storing entries -Searchable#getCategories() now is SortedSet -added, removed and renamed several methods in Data accessing Content -deprecated some methods accessing and creating Categories -replaced category with AutoCategory ("standard"-Categories are Tags) -fixed bugs in EntryUtilities and JMDBHandler -added Data#loadEntry() to load an Entry into Data (for DataLoaders only) -Data#getAllEntries() now returns an Iterable, added Data#getNumEntries() -renamed ContentIO#writeContentList() to #writeContent() and replaced Collection with Iterable -created new test package for performance-tests -Rule now extends Predicate<Entry> -Filter now extends Predicate<Entry> -replaced some for-loops with parallelStream(), where appropriate -[swing] added TagsDialog to list all used Tags, their usage count and actions to modify them -added some methods to ContentMapper to batch map and unmap Content -added ProfilingTask to be able to profile runtime of tasks -added ProfilingTools to ease profiling runtime of methods
!!As of now, this program uses Java 8 and won't work on an older version-number!!
-added TagTools for some tools to modify tags -added DefaultTypeWrappers for class and enum-type -added Parameters#readParameter() to get Parameter/TypedKey by name -replaced all Maps<Parameter,Object> with Collection<ParameterValue> -created ParameterValue to store parameter and set value, if any -moved MediaCenter#VERSION_***-flags to CoreModule -moved all core-module from MediaCenter to CoreModule -MediaCenter now accepts additional parameter to set a custom settings and extensions-path -renamed TypeWrapper#parseString() to #fromString() to comply with Java 8 StringConverter in future -added TypeWrappers for URI, URL, File, Path and various Date-formats to DefaultWrappers -ContentTools now support sorting in ascending/descending order, if the sorter ends with 'asc'/'desc' -[swing] fixed bug in ContentTable -added InfoInputLookup simply allowing the user to input all the meta-attributes for the given entries -all (both) EntryInfoLookup-implementations now support new methods -[swing] added SwingTypeEditor to provide editors for some common types of Parameters -EntryInfoLookup now also supports lookup by Parameter -changed loading and storing of module-files and how active features are stored -added Parameters to ease creating of default parameter-types -overhauled all Modules to fit new parameters -added DefaultWrappers#sizeWrapper as TypeWrapper<Long> to wrap file sizes supporting units (MB, KiB, etc.) -rewrote Module-Parameter to fit TypedKey (more precisely: Parameter), values are now objects of corresponding types -removed ListFileMappings and updated references from FileTypeMapper to FileSignaturesMapper -added FileSignaturesMapper as more capable replacement of FileTypeMapper and TestFileMapper for comparison -moved all classes and interfaces related to TypedKey and subclasses to new packages -as of now, Type of EntryAttribute doesn't need to be Comparable anymore 0.42 (2014/02/22) -TypedKey now extends Comparable to be able to sort all kinds of keys -added Parameter and SearchProvider now uses Parameter -added GUILibrary#getUserInput() to dynamically get user input -EntryAttributes#createXXXAttribute() now use DefaultWrappers -added DefaultWrappers to provide Wrappers for default data-types -added TypeWrapper to provide functionality to wrap any type to and from string -rewrote EntryAttributes to now be bound to ContentType-hierarchy -fixed FolderMonitors failing to initialize on non-existing folder -moved all EntryAttribute-related classes to new package -added JUnit test-case for SearchProviders -[swing] decreased calls to SearchResult#searchCategory() from ContentTableModel -every SearchResult now owns its SearchFlag, which was used to create it -added method to SearchResult to check, whether its content is up-to-date -[swing] swing-GUI no exits correct and doesn't call System#exit() anymore -added methods to Handlers providing Path- and ContentHandlers with config-files -added Handlers to provide utility-functions for Entry-handlers and moved handler-methods from EntryUtils to Handlers -added ModuleTools and Module#getDataDirectory() to get the module's directory for storing data -added ContentTools#getTags() to ease tagCloud-views -DefaultContentHandler now checks for preview-URL and displays it as preview if available -added FanartTvLookup importing a preview-URL for various data-types -added check for '#untagged' to Entry -SearchEngine now checks case-less -added HybridCache, caching in RAM, storing in file but loading only when needed -renamed RAMFileCache more fitting to PersistentRAMCache -added http-proxy to Settings and removed obsolete keepImagesInRam -updated Settings and added method to apply System#properties -fixed possible synchronized-hang in Data#autoCategorizeAllEntries() and #addAutoCategory() -modified WSServer and added WSSearchProvider to allow searching and importing from an JAX-WS server -fixed bug in WSHandler -added Flag-constants to SearchFlags -added timeouts to URLHandler -Entry-size should now be retrieved via EntryUtilities#getEntrySize(Entry,boolean) -as of now, EntryAttribute#RESOURCE_SIZE stores the resource size and all retrieving-methods check it first -fixed bug in JMDBHandler -fixed bug in ModuleRegister -extended RulesTest 0.41 (2013/12/07) -added icons for ServiceFeature#TYPE_USER_INTERFACE and Cache to the various IconSets -AbstractResourceHandler now checks for cached resource-length, before trying to retrieve original length -added #getEntrySize(URI/String)-method to Cache -made FTPHandler to MediaCenterListener so it can close all connections on exit -[swing] added WrapLayout for the TagCloudPanel -RAMFileCache is now fully functioning and available under 'hybrid' cache-method -added MediaCenterListener to listen on startup and shutdown of MediaCenter -Data#removeEntry() and #removeEntries() now removes entry from Cache -added RAMFileCache caching data in RAM but storing the cache on disk at exit -renamed DataListener to DataChangeListener and all corresponding methods -fixed bug in DefaultImageHandler trying to read unreachable image again and again -considerably improved performance on getting image-size by using SimpleImageInfo -added SimpleImageInfo (foreign code) to read image-info from the header -fixed WallbaseCCImporter and added list-support -fixed ListalImporter and added support for alternative list-format -[swing] EntryListDialog now displays preview of selected Entry -improved performance on background-call of Data#addEntries() and #addEntry() -[swing] updated EntryListDialog to allow any kind of collection and improved performance -[swing] ImportDialog now displays EntryListDialog to select which Entries to add -changed EntryImporter, so it returns the imported Entries and doesn't add them itself -extended Entry#compareTo() function (fixed bug for Data [TreeSet] for multiple Entries with same name) -DefaultImageHandler now uses preview-image if there is any -updated GoodfonImporter, now supports goodfon.ru and badfon.ru (and cyrillic characters) + added preview-image -updated TestEntryImporter -updated DeviantartImporter and added tag-support -updated test-classes -fixed some bugs in the search-engine -added 'invert'-Flag to SearchFlags (also accessible via 'order=desc') -[swing] updated EditMultipleEntriesDialog to edit Tags -moved Entry#getTagsString() to EntryUtilities 0.40 (2013/11/07) -[swing] added tab for SearchProviders to SearchDialog -added DefaultSearchProviders as new Module -fixed bugs and improved OEmbedHandler -[swing] fixed some size-issues -added FileSearchProvider and OpenSearchProvider as implementations for SearchProvider -added SearchProvider as new Feature providing way to search for new entries to add -Added try-with-resource to rewritten methods in EntryUtilities -Replaced some entry#getAttribute(...)!=/==null with entry#hasAttribute(...) -EntryUtilities#loadXML() now uses JRE-internal XML-library -EntryUtilities now uses Cache, rewrote some methods -renamed some Cache-methods, added getResourceBytes(...) -Cache#getResource(String,InputStream,byte) now also checks for distance -removed wrong hierarchy from MetaHandler to PathHandler -added OEmbedImporter to convert Websites to their oEmbed-calls -extended EntryUtilities#getContentType() to open URLConnection, if guessing the content-type failed -fixed bug in URLHandler, if URLConnection contains no Content-Length header-field -added OEmbedHandler to handle content based on the oEmbed-protocol -moved JSON-Code from json-simple to jackson 2.2 (removed unused JSONIO) -remote-based PathHandlers now all are CachedPathHandler -[swing] StatusBar now uses new method to clear RAM and Cache -added CoreUtils#freeResources() which frees volatile cache and unused RAM -added Cache and some implementations introducing the ability to cache (Entry)-data -[swing] SettingsDialog now opens preview of all IconSets (via new IconSetsDialog) -moved WSServer to new Module WebServers -fixed bugs in ModuleRegister/Module -updated DefaultImporters to new Module-system -renamed ExtensionLoader and -register -made all Extensions Features -removed ExtensionProvider and ProviderAttributes completely -included WSServer, AutoUpdater and SearchEngine in 'core'-Module -removed unused ExtensionProviders and Extensions -moved all ExtensionProviders to Modules -added new package 'mediaCenter.features' as surrogate to 'mediaCenter.extensions' -moved SERVICE_XXX-keys from IconSet to AbstractIconSet -moved utility-methods from MediaCenter to new class CoreUtils -EntryUtilities now catches Error if a handler-class was not found or could not be instantiated -implemented @RequiresLibrary to various Path- and ContentHandlers -implemented check for @RequiresLibrary to EntryUtilities (handler-loading) -added @RequiresLibrary to annotate that a class has certain requirements -XMLLoader now throws Exception on missing jdom2 0.38 (2013/09/12) -added ExtensionLoader#loadProvidersSPI() to load ExtensionProviders via SPI -ExtensionLoader now only stores parameters (which differ from the default-value) -ExtensionProviders now have public default-constructors -changed ExtensionProvider and AbstractProvider (internally) -changed some Lists to Sets -Entry now uses TreeSet for its tags internally -ExtensionRegister now uses Map as internal structure -renamed ListMapping to SetMapping (changed children from List to Set) -[jmdb] DeanClatworthyAPI and OMDBLookup now use JRE-included XML-loading -[jmdb] added DeanClatworthyTest -XMLLoader2 and XMLIO now only use JRE-included classes for XML-IO -fixed @author in documentation -added @BackgroundTask and changed @Outdated to @LegacySupport -SearchResult now has an timestamp for comparison -fixed bug in SearchResult -added branch for JavaFX (based on JavaFX 8) and moved swing to extra branch -moved tests form "testing" to "test" -Rule#cleanUpTree() now cleans up twice inverted rules -added NotRule#setInvertedRule() -reorganized some test-classes -GUILibrary#getMainWindow() now returns Object -updated system-log at startup -[jmdb] improved performance in various MovieDBParsers -added FTPHandler (to handle FTP/FTPS files) and TestPathHandler -made some performance and stability improvements -added some javadocs for protected elements -changed AbstractResourceHandler and AbstractMetaHandler internally -changed creation of hierarchy-categories in SearchResult -made SearchEngine#isSearchObjectInHierarchy() public -ContentMapper is now abstract. Its implementations are used to extend the content-mapping capabilities 0.37 (2013/08/22) -class FolderMonitor now only stores values (all procedures are now in FolderMonitors) -added FolderMonitors to store WatchService and FileTreeVisitor for all FolderMonitors -[swing] added EditContentDialog as base-class for all edit-content dialogs -FolderMonitor: implemented use of Rule for the WatchService, too -changed internal handling of Loggers in Logger -SearchResults are now completely sorted (all children lists) -changed some types of collection to more general ones (public methods) -changed some types of collections to more performant ones (internal only) -[swing] implemented ContentTools#categoryToTag() and #tagToCategory() as SwingActions -added IconSet#ACTION_CONVERT -fixed bug in ContentType (order of default content-types) -added ListHandlersTree to simply list all Path- and ContentHandlers in hierarchical form -DefaultContentType now implements #equals(Object), #hashCode() and #toString() -fixed and improved Console (using Apache CLI version 1.2 or higher) -added SMBHandler for the SMB-protocol (uses the jcifs-API version 1.3.17) -add/remove-Content methods in Data now return boolean on whether the data has changed -various classes now use Path instead of File -[swing] various components now use Path instead of File -MediaCenter#editSystem() and #deleteSystem() now have URI as argument -file-paths now all start with file://, backwards compatible to old file: -(DVD)DirectoryHandler and FileHandler now use Path instead of File -EntryUtilities#getAllEntriesFromDirectory() now uses Path -added ServiceProvider#TYPE_USER_INTERFACE -[jmdb] MovieDBParsers are now all singletons -[swing] EntryArchivePane now uses new ArchiveHandler -added ArchiveHandler as ContentHandler (based upon Apache Commons Compress API version 1.5) -[swing] added preview-image to EntryInfoDialog -fixed search for Rule via SearchEngine#search(term) -[swing] improved layout of StatusBar -fixed search in TMDBParser -TestEntryInfoLookup and TestEntryImporter now are JUnit-test -CheckTranslations now also checks for EntryAttributes and ContentTypes -added IllegalArgumentException to Entry#setAttributeUnchecked() -added IllegalArgumentException to TypedKey#parseString() and #toStringUnchecked() -[swing] changed MetaDataPanel to use a table for meta-keys and values -[swing] fixed Drag'n Drop for FolderPreviewView -JMDBHandler now uses entry-info and only looks up original source, if there is no info -[jmdb] added some methods to JMDBData to merge two instances -[jmdb] DataKey now extends TypedKey to ease value-I/O -added TypedKey as parent to EntryAttribute to supported typed keys -[swing] improved interrupting and continuing loading of components -[swing] overhauled the FolderView-interface and its implementations -fixed bug in ScriptIO causing to load only every other Entry -XMLLoader2 and XMLIO now use the StAX-API for loading data-file -fixed bug in BinaryIO2 causing infinity-loop in readContentList() -[swing] Entry-tags can now be edited in ContentTable 0.36 (2013/07/20) -added CachedPathHandler to some PathHandlers (still WIP) -added parameters to MediaCenter for caching-options -added CachedPathHandler and EntryCache to support local cache -removed obsolete EXTENSION_***-keys in EytensionProvider -made ExtensionRegister#getProviderForProperty() to #getProviderForName() -ExtensionProviders now use ProviderAttributes for their attributes -added ProviderAttributes to provide attributes for ExtensionProviders -added ContentTools#tagToCategory(String) and #categoryToTag(Category) -SearchEngine now checks on search if term/tag/Category/... was searched previously in hierarchy -moved SearchResult#getSearchObject() to Searchable -fixed SearchEngine#searchTag() -[swing] added TagCloudPanel and TestTagCloud -now all SearchEngine#search***-methods return a sorted result -made some collections in Data to Sets instead of Lists (to ease single-occurence only) -removed some obsolete methods in SearchEngine -internal methods in SearchEngine now use SearchFlags instead of boolean-flags -made all SearchResults non-public -added SearchResult#getSearchObject() -moved Filter#filter(...)-methods to ContentTools -added use of Filters and Sorter(Comparator<ViewContent>) to SearchFlags -removed Category#UNCATEGORIZED -[swing] added entry-tags to ContentTable -added entry-tags to ContentMapper and XMLLoader -added SearchEngine#searchTags(Searchable,boolean,String...) + tag:<tag> syntax for searchpath -added tags to Entry (+ various methods) -removed old search-methods from SearchEngine -EntryImporters now correctly import tags not Categories -all previous void-methods in Entry now return a boolean to indicate, if something cahnged -ContentMapper and XMLLoader now save/load SearchedCategory -[swing] added save-search action to ContentPopupMenu -added SearchedCategory to save searches -renamed Tag to Category and all related classes, methods and strings -changed ContentHandlers and DataLoaders according to last change -changed EntryInfo in ContentHandler to key-value pairs -[swing] added TasksDialog to display progress bars for single tasks -updated some EntryImporters -added EntryImporter#getComment() -updated the OutDated annotation -generated #equals(Object) and #hashCode()-methods for all Content -added ContentTest to provide some methods to test for in junit test-cases for Content -updated XMLLoader, ScriptIO and TestContentScripting -[swing] RuleTree is now fully operative -added RulesTest as JUnit test-case -added additional compare-flags to AttributeRule -added RuleTreeTest -added Rules#cleanUpTree(Rule) to remove CombinedRules with single or no children -CombinedRule now bases upon a Collection -changed TestBinaryIO2, TestSearchEngine and TestContentMapper into JUnit4 test-case 0.35 (2013/06/30) -[swing] added ProtocolListDialog to list all supported protocols (accessible via OptionsMenu) -[swing] added some options to SettingsDialog -[swing] improved layout of ExtensionsDialog -added content to short-meta for JMDBHandler -added some EntryAttributes for AudioHandlers -added EntryUtilities#getPathHandlers() and #getContentHandlers() -added optional PathHandler#getProtocolDescription() for a short description of the protocol -AutoUpdater now displays message, if new version is available and a GUI is running -Entry#getResourcePath() now returns the decoded resource-path -DVDDirectoryHandler now correctly calculates the size -added DVDDirectoryHandler as PathHandler -[swing] TagTree now updates model instead of creating a new one -removed obsolete constructors from Entry and createCopy() -[swing] fixed bug in DragSupportedEntryPreview -[swing] added DragSupportedEntryPreview for drag-support of entries in FolderPreview* -[swing] added Drag'n Drop support for FolderPreviewView and FolderPreviewPanel -removed DefaultGroupHandler -added GroupHandler#isGroupModifiable(URI) -[swing] simplified loading-methods in FolderPreviewPanel -added Entry#addTag(Tag) and #removetag(Tag) -renamed getAdditionalContent() and retrieveAdditionalContent() in ContentHandler -added ContainerHandler as base for handling containers/archives (likely to be changed again) -removed BinaryIO -[swing] added group-entries action to ContentPopupMenu -added EntryUtilities#hasPathHandler(Class) and #hasContentHandler(Class) -added option to load lists of synonyms from an URL to be searched for in SearchEngine -added some javadoc -removed some Exceptions from some Extensions -removed ResourceEntry -added EntryUtilities#getEntrySize(Entry,boolean) to provide resource-size of Entry without throwing any Exception -removed TestDataTypeContentHandler due to superfluency -added Entry-constructor(URI,PathHandler,ContentHandler), made other constructors deprecated -fixed bug in BasicRule -added TestContentTypes to test the differences between "old" and "new" way to retrieve ContentTypes -DVDDirectoryHandler now implements ResourceHandler -Entry now uses the ContentType it gets from its ContentHandler -added ExtensionLoader#loadExtensionsFile(File) to add new providers in this file to the register -TaskPool now throws TaskException if any Exception is thrown within the Task -added TaskException -added Entry#hasAttribute(EntryAttribute) -Rules now don't create new Entries for #apply(URI) -rewrote and reorganized GroupHandlers -made BinaryIO deprecated, added BinaryIO2 based on ContentMapper, BinaryLoader now uses BinaryIO2 -GroupHandler now extends ContentHandler, not PathHandler -value-types of EntryAttributes now must extends Comparable -added information store/load to DataLoaders -added additional methods to ContentHandler to store some informations in an Entry -added convenience-method Rules#createRuleUnchecked(EntryAttribute,byte,Object) -[swing] increased scrolled pixels per scroll for FolderPreviewView -AbstactService now quits service of Exception is thrown in #startService() -removed ExtensionException from ServiceExtension#startService() -added additional icons to TangoIconSet -implemented beneath change in AbstractIconSet -added IconSet#getServiceIcon(byte,boolean) to get icons for specific service-types -added type-flag to ServiceProvider 0.34 (2013/06/14) -moved ExtensionLoader into mediaCenter.extensions -updated IconSets -[swing] edited StatusBar, so any service is displayed -added keys for status-icons for services to IconSet -completly removed old server-API -added new server-package based on JAX-WS -made old server deprecated -changed some methods in various AbstractExtensions -removed obsolete RemoteEntry -fixed some javadoc -changed way, services are started (they are now called via their name) -added ServiceProvider#getServiceName() -[swing] fixed bug in SwingFolderPane -[swing] removed FolderSelectionListener -added methods to ListMapping to convert from/to java.util.Map -XMLIO/JSONIO are now based upon ContentMapper -moved ContentMapper#Mapping-classes to new files each -AttributeRule now uses ImageHandler as source for image-info -DefaultImageHandler now extends ImageHandler -added ImageHandler to provide additional image-methods -renamed Entry-path from filePath to path in XMLLoader (and data.dtd) -[swing] fixed bug in ContentTableModel while sorting for size -removed deprecated RuleType#FITS_DATATYPE and #HAS_ATTRIBUTE -DefaultContentHandlers now use EntryUtilities instead of direct calling FileTypeMapper -[swing] fixed bug in EntryMediaPlayer -[swing] CoverFlowView now displays current index -added DataLoaderComparison to compare all registered DataLoaders in speed and file-size -[jmdb] added error-checks to some MovieDBParser -checked and fixed various DataLoaders and DataIOs -added Searchable#getTags() -fixed bug in XMLLoader -renamed ContentType#TEXT_PlAIN -> TEXT and #TEXT_RICH -> DOCUMENT -removed EntryGroup -XMLLoader2 now fully functionable using ContentMapper -> added -updated and improved ContentMapper -modified XMLLoader and ScriptIO for new ContentTypeRule -FolderMonitor now uses Rule#apply(URI) -added Rule#apply(URI) -added ContentTypeRule for checking based on content-types -added flag for #ATTRIBUTE_EXISTS to AttributeRule -removed static checks from AttributeRule -FolderMonitor now also accepts directory-based Entries, if its underlying Rule accepts them -added fallback-type to ContentType to fall back for icons, translations, etc. -added EntryUtilities#initializeHandlers() to make sure, the handlers are initialized -ContentTypes now also adds custom content-types on start -added IconSet#getIcon(ContentType) to provide mapping from ContentType to Icons -added DVDDirectoryHandler to handle DVD-directories as videos -[swing] fixed bug in CoverFlowView -[swing] implemented use of background-parameter in SwingGUI -removed separate iconKey and nameKey from ContentType -renamed AbstractContentType to DefaultContentType -added method to ContentType for correct subtype-checking -removed ContentType#accept()-method -renamed SearchFlags#exclude* to ignore* to be more fitting -[swing] removed EntyPreview and several EntryPreviews 0.33 (2013/05/17) -improved preview-loading in JMDBHandler -moved GUI-specific interfaces from mediaCenter.extensions.gui to swing-GUI -made AutoUpdater fully functional -removed DataListener from AbstractService -added additional parameter to MediaCenter#compareVersions() -added method to ResourceHandler, to check whether a resource is still alive -made SearchFlag public, added search-method -renamed Data#getInstance() to #getData() -fixed some possible bugs -removed URLFolderHandler due to its superfluency and error-prowess -improved preview-image in DefaultGroupHandler -added EntryUtilities#loadImage(Image) to load toolkit-images without ImageObservers -fixed search in MainMenu to support unformatted input -removed some deprecated methods -[swing] deprecated old previews -added priority to PathHandlers and ContentHandlers -removed DataType from code -added ContentType to replace DataType -added AudioHandler and some implementations -[swing] partially adapted previews to use ContentHandlers -added some standard ContentHandlers -removed ContentHandlers, because they are managed via SPI -added #getPreviewImage()-method to ContentHandler, so the GUI doesn't need to worry about preview-loading -changed some methods in ContentHandler -DataType is now only for marking types, all methods are to be removed -added Entry#hasHandler() for easier PathHandler-check -added ContentHandler to Entry -removed MetaEntry -added ContentHandler-classes, but not yet included in program -FolderMonitor now uses URIs, too -fixed bug in EntryUtilities caused by the change of the resourcePath to URI -fixed bugs in FileHandler and DirectoryHandler -removed calls to deprecated Entry#getResource() -improved performance in some methods -uses EntryAttribute.toString(value) instead of value.toString() -added NotifiedProvider to provide methods executed on register/unregister -renamed ContentHandler to PathHandler -changed Entry#getHandler()-method, to reduce casts -removed TermSearchResult -made some minor improvements -made removeNonexistingEntries in Data into cleanUpEntries, also removing duplicates -[swing] fixed bug in HierarchyView -Entry now also uses URI as resourcePath -ContentHandler now uses URI to identify resources 0.32 (2013/04/07) -[swing] fixed bug in HierarchyView -fixed bug in BasicRule -switched SearchEngine to use new search-method -new search-method now has all functions of old search -added some list***-methods to DuplicateEntriesTool -[swing] LoadTask now continues loading of other previews, if one throws error -CollectionTask now has flag whether to break or continue on error in subtask -[swing] added EntryArtworkPreview to preview entries per artwork -added EntryUtilitites#loadImage(URL,boolean) -improved the not-yet-used new search-algorithm -added file to demonstrate and order new search-engine -made some SearchResults deprecated -moved some methods from SearchResult to Searchable -removed some methods from Searchable -removed some obsolete methods from SearchResult + moved some methods to SearchEngine -added error-codes to ExtensionException (more to come) -added Filter#filter(List<Entry>,Filter...) -removed some deprecated methods and classes -added Data#getAnyTagForName(String) to get any Tag for the specific name -[swing] fixed bug in StatusBar -added key-names to ContentMapper -Searchables only map methods to SearchEngine -all Search-methods are now fully within SearchEngine -Data now uses SearchEngine to search -SearchEngine now accepts Searchable for some methods + added some search-methods -Settings now internally uses Properties -moved Settings-I/O from SettingsLoader to Settings, making SettingsLoader obsolete -added FolderMonitor#lastModified to ContentLoaders -added check for modified-time of folder to FolderMonitor -added checkModifiedDate and scanFoldersOnStartup to SettingsLoader -added checkModifiedDate for FolderMonitors to Settings -[swing] updated FolderViewMenu to display names for the comparators -[swing] CoverFlowView now also uses Tasks to load images -added InterruptibleTask -[swing] FolderViews now support interrupted loading -[swing] fixed FolderViews so that deselected views are notified in order to stop loading -[swing] added LoadTask to suport interrupted and continued loading -[swing] fixed overlay and tool-tip in CoverFlowView -IconSet#getIcon() now correctly returns an Icon -removed GroupHandler#getResourceLength() -[swing] fixed bug in EditTagsDialog -[swing] Tables now use default-renderers and -editors where possible -removed non-working JAXBLoader -[swing] removed obsolete generics from MetaDataPanel -[swing] fixed some layouts -[swing] fixed bug in EntryInfoDialog -improved performance of SearchResult -[swing] ExtensionsDialog now displays Extension-description and parameter-descriptions 0.31 (2013/03/16) -added AutoUpdater as ServiceExtension to check for updates -renamed AbstractDataService to AbstractService -made DataService to ServiceExtension -added ContentMapper (for easier and updated ContentIO) and TestContentMapper -added FileTypeRule + creator-method in Rules -added null-checks to all Content-constructors -[swing] ContentTable now correctly displays size of EntryGroups -[swing] FolderViews are now updated if length-retrieving is finished -fixed bug in AbstractResourceHandler -[swing] removed EntryGroupPreview -[swing] moved EntryTransferable to new file, public access for all drag'n drop -[swing] fixed layout of EditEntryDialog -[swing] added EntryListDialog to select from a list of Entries -[swing] added EditResourcePanel to edit resource of Entries in EditEntryDialog -added additional methods to GroupHandler -added CustomGroupHandler for handling custom EntryGroups -added EntryAttribute#toString(value) -> to be used in all Entry-I/O -[swing] SwingActions#addEntryAction now executes in background -[swing] StatusBar now displays progress-bar for background-progress instead of status only -fixed bug in Data#autoTagAllEntries() -added CollectionTask to execute several tasks -added Task#getProgress() -fixed some unchecked casts -[jmdb] added DeanClatworthyAPI to access IMDB-data per API by dean clatworthy -[jmdb] renamed Data to JMDBData -removed JMDBAttribute -[swing] added JScrollBar to MetaEntryPane -[jmdb] fixed several bugs in IMDBParser for TV-series -[swing] added lookup-meta to ContentPopup -[swing] modified InfoLookupDialog for multiple Entries -modified EntryInfoLookup to support multiple Entries -improved performance of AbstractResourceHandler -removed Closeable from DataListener -[swing] updateted stati -Debugger and SwingGUI are now ExecutionListeners -overhaul of TaskPool and all task-stuff -[swing] added resetParameters to ExtensionsDialog -added ExtensionProvider#resetParameters() -JMDBHandler now fills meta upon creation of new Entry -EntryInfoDialog now also fires contentChanged() after info-lookup or entry-edit -[jmdb] fixed bug in IMDBParser -removed obsolete FileTypeTag -replaced EntryAttribute#getDefaultValue() with EntryAttribute#getValueClass() 0.30 (2013/03/02) -moved some debug-output to Debugger -added RuleType#HAS_ATTRIBUTE -fixed AbstractResourceHandler, so that children from other packages can access it properly -made Settings#getLoader() deprecated, use Settings#load() and Settings#save() -added JAXBLoader and TestDataLoader -added AbstractContentIO -fixed bug, where auto-tagging removed non-AutoTags from Entries -[swing] MetaDataPanel now updates AutoTags on save -removed some duplicate calls to Data#autoTagEntry(Entry) -Data now implements DataListener and updates AutoTags on contentChanged() -made Tag#ALL and Tag#UNTAGGED AutoTags -added RuleType#NO_TAGS -refreshing of AutoTags in now handled via DataListener#contentChanged(Content) -added DataListener#contentChanged(Content) -added Entry#setAttributeUnchecked(EntryAttribute,Object) for convenience use -[swing] improved update in ContentTableModel -[swing] fixed size (on multi-monitors) for OpenEntryDialog -[swing] added FolderViewMenu -changed Content#equals(Object) to #equals(Content) -added some filters and some methods to ContentTools -renamed ContentSorter to ContentTools -[swing] implemented FolderView#sort(Comparator) -added FolderView#sort(Comparator) -fixed bug in ListalImporter -added some comparators to ContentSorter -renamed Tag#getTagName() to #getName() -added ViewContent (Entry,Tag) -added ContentSorter to provide sorting for content -[swing] ContentTable now sorts Content alphabetically -[swing] TagTree now sorts its children by number of entries -added Comparators to SearchEngine -[swing] fixed bugs in ContentTable -added ErrorHandler as DefaultUncaughtExceptionHandler -fixed bug in FileHandler -removed deprecated methods from jmdb-Data -added MetaHandler#fillMeta(Entry) -added EntryAttribute#RESOURCE_RECURSIVE for recursive-flag in EntryGroups -removed ContentHandler#getResourcePath(String) -added ContentHander#createEntry(String,String...) 0.29 (2013/02/15) -[jmdb] added DataTool for better handling of Data -fixed JMDBHandler#getPreviewImage() -fixed JMDBHandler for improved jmdb-API -added ContentHandler#getResourcePath(String) for the ContentHandler to modify the resource-path -improved jmdb-API -added translation and icons for DataType#META -[swing] changed addURL-Button to generic addEntry-Button -removed deprecated method Data#getEntryForFile(File) -[swing] added EntryView and EntryPreview for MetaEntry -added MetaEntry for MetaHandler-support -EntryUtilities now prints a list of all registered ContentHandlers on startup -added MetaHandler and an JMDBHandler-implementation -[jmdb] renamed IMDBLookup to OMDBLook, because name of API changed -fixed wrong usages of ResourceEntry instead of Entry -added meta-inf for default ContentHandler-implementations to classpath -deleted obsolete *Entry-classes -removed obsolete EntryType -fixed bug in Data -old subclasses of Entry are mostly obsolete -Entries are now backed by an ContentHandler, which depends on the entry's underlying content -changed Entry-system -moved content-package out of data-package -made some overhaul in TranslationKeys -removed type of Data in jmdb -removed nifty-library and nifty-source from project -[swing] added AudioPlayer for playing audio using the java sampled-api -[swing] added audio-only support to VLCJPlayer -[swing] rearranged multimedia-entry handling -moved MultimediaEntryPlayer to swing 0.28 (2013/02/08) -added GoodfonImporter to import images from goodfon.com -added some static methods to DefaultImporterProvider -simplified handling of local-folder in default importers -added JSONIO (not yet tested) -fixed bug in Data -fixed bug in RemoteLoader -added Data#getEntryForResource(String) -server/client is now able to use several ContentIOs -updated server/client to newest ContentIOs (still WIP) -complete overhaul of XMLIO -[swing] added feature to EntryImagePanel -added silent-flag to Tag-constructor -added parameter to MediaCenter for default-values for new tags -removed obsolete method FolderMonitor#getFolder() -added 2 createEntry(…)-methods to EntryUtility -[swing] MainMenu#addFile now adds DirectoryEntry if file is directory -fixed bug in DirectoryEntry -fixed IMDBParser -[swing] MetaDataPanel now calls InfoLookupDialog -[swing] added InfoLookupDialog -ImporterFactory now also handles EntryInfoLookups -DefaultImporterProvider now also handles default EntryInfoLookups -added test-class for EntryInfoLookup -added AbstractInfoLookup for easier implementation of EntryInfoLookups -added JMDBInfoLookup for jmdb-support -included jmdb (library by me to read movie-info) to classpath -added EntryLookupPrivder -added EntryInfoLookup-extension to lookup entry-info -fixed bug in BasicRule -[swing] fixed bug in ExtensionsDialog -[swing] added automatic diashow to DiashowView + parameter to SwingGUI -[swing] fixed parameter-handling in SwingGUI -[swing] added keyboard-control to CoverFlowView -[swing] added entry to OptionsMenu for refreshing AutoTags -added option, whether to remove outdated AutoTags to Data#autoTagAllEntries(boolean,boolean) -increased capability and performance of AttributeRule -fixed bug in AttributeRule -updated and fixed RemoteLoader + DataServer -MediaCenter#exit() now closes all DataListeners -DataListener now extends Closeable -[swing] extended tooltips in ContentTable -ExtensionLoader now removes obsolete extension-files -[swing] modified SearchDialog for new search-engine -merged SearchPreferences into SearchEngine -added ExtensionProvider#EXTENSION_DESCRIPTION -added parameter SearchPreferences#EXACT_MATCH_ONLY -added SearchEngine (+test-class) for approximate matches in SearchResult 0.27 (2013/01/30) -[swing] fixed saving in ExtensionsDialog -[swing] moved EntryView- and EntryPreview-getter to SwingGUI -[swing] merged EntryGroupPreview into EntryGroupPane -[swing] added Drag-n-Drop support for FolderPreviewView -[swing] renamed FolderImageView and FolderImageLabel -[swing] added Overlay to CoverFlowView -made Debugger singleton and also accessible from outside -fixed resourceLength in URLDirectoryEntry -removed System.out-calls in Console -AbstractTranslation now only loads on demand -added artist to DeviantartImporter -fixed bug in EntryAttributes -created Rules to handle creation-methods of rules -made Rule interface -moved EntryAttribute creation-methods to EntryAttributes -renamed EntryLoader to EntryUtilities -moved DataType#getDataType(Object) to EntryLoader -moved DataType to entries-folder -added EntryGroup#getSubEntries() for displaying the content of an EntryGroup -added HTTPImporter for generic importing of url-resources -[swing] fixed bug in FolderImageLabel (division by zero on empty results) -added URLDirectoryEntry to EntryLoader -fixed an URL-specific bug -moved #getFileSizeString(long) to EntryLoader -moved some classes between api and additional -methods in ExtensionRegister now throw ExtensionException -changed ExtensionException to Exception (from RuntimeException) -added DeviantartImporter -moved MediaCenter#extensionFolder to Settings -added method to MediaCenter to start from within another program -made ContentIO Closeable -FolderMonitor now handles WatchService per try-with-resource -[swing] removed obsolete constructors in OpenEntryDialog -[swing] fixed bug in EntryImagePanel 0.26 (2013/01/24) -fixed TestRemoteLoader -[swing] rewrote SettingsDialog to new extension-system -changed some TranslationKeys -[swing] rewritten ExtensionsDialog -added name-identifiers to some singleton-extension implementations -implemented search in attributes -removed RemoteAccessLoader -[swing] removed non-working SplashScreen -[swing] adapted SettingsDialog to the new circumstances -fixed bug in some IconSets -added SingletonProvider and DataServiceProvider -added DefaultIconSets/DefaultImporters/DefaultTranslations to provide IconSets/EntryImporters/Translations -removed LibraryProvider -removed old methods from ExtensionRegister -added methods to support one provider for several extensions -removed generics from most ExtensionProviders -removed FileTypeMapper-extension, made (Default)FileTypeMapper non-extension -added ExtensionsTool -fixed writing of extension-settings (preliminary version) -[swing] fixed bug in SettingsDialog -removed some obsolete Providers -Settings is now only loaded/saved through (Properties)SettingsLoader -[swing] restructured whole swing-gui -[swing] removed all obsolete swing-providers -[swing] changed swing-gui to the new extension-system -removed ExtensionLibrary -reorganized code to work with the new extension-system (currently only loading) -made major changes to all ExtensionProviders (removed deprecated methods) -made some ExtensionProviders deprecated -removed some methods from ExtensionRegister -removed DirectorySearchResult -made some internal changes in some Extensions -fixed bug in SearchResult -moved loaders into new package -moved various SettingsLoader away from Settings -> made interface SettingsLoader -added ExtensionLoader and CreateExtensionProperties (to support migration) -added requirement-check to ExtensionRegister#register -deprecated some methods in ExtensionRegister -extended ExtensionProvider as preparation for further changes -added documents to lay out the new extension-system -[swing] added Drag-and-Drop support for ContentTable (now you can drag entries into tag-folders) -[swing] renamed TagTable to ContentTable 0.25 (2013/01/12) -EntryAttribute now extends Comparable -fixed bug in XMLLoader -added EntryAttributes to handle the collection of all attributes -added DefaultEntryAttribute for easier attribute-implementation -made EntryAttribute an interface -changed EntryAttribute-system -moved entry-related classes to new package -moved entry-name to EntryAttribute -[swing] changed Views/Previews so they match EntryGroup -[swing] fixed bug in FolderImageLabel -added EntryLoader#loadEntryGroup(EntryGroup) to retrieve all children of an EntryGroup for displaying -deprecated DirectorySearchResult for superfluency -added EntryGroup to manage grouped Entries -removed MediaCenter#threadPool -> use new TaskPool -added package mediaCenter.tasks to handle concurrent tasks -[swing] renamed extension-implementations and providers accordingly (messes up settings!!) -renamed some methods to match the new extension-names -[swing] added SwingGui#getIconSet() to manage the current IconSet for swing-components -moved all GUI-related extensions to new package -renamed some methods in ExtensionRegister -moved EntryPreview to the api-source -removed GUIExtension and GUIProvider (+ changed all depencies) -renamed ActivatorRegister to ExtensionRegister -renamed some *Extensions -renamed all *Activators to *Provider -removed long obsolete BinaryIO2 -introduced OutDated-annotation to mark outdated/deprecated code-blocks -moved some methods to EntryLoader -removed some methods from DataType -added method ActivatorRegister#getActiveExtensions(extension-class) 0.24 (2013/01/06) -added CSVSettings to load Settings from a csv-file -made AbstractImporter more general + added some javadoc -added several Tools (more to come), usage WIP -[swing] added ENTRY_VIEWS to the various components -added EntryAttribute#ENTRY_VIEWS to count the number, an Entry is opened -[swing] now all Dialogs extend BaseDialog -[swing] added SwingActions to collect all actions at one place -moved Data#autoTagAllEntries() and Data#scanAllFolders() to background Thread -added SearchPreferences-extension to store the preferences for searching -[swing] improved Mouse-handling on several swing-components -[swing] added TagInfoDialog -made some bigger changes in the translation-keys regarding tags -[swing] added BaseDialog to combine standard dialog-initializations -[swing] VLCJPlayer now also uses MediaControlPanel -[swing] changed MIDIPlayer to use newly added MediaControlPanel -[swing] updated LogDialog to make use of the new LogEntry -added LogLevel and changed some methods in Logger -added MultimediaEntryPlayerExtension to play Multimedia-Entries (still WIP) -[swing] some GUI-cleanup -[swing] added error-message to OpenEntryDialog -[swing] added application-images to IconSetExtension -[swing] extended SearchDialog and included "Advanced Search" -added AlphaCodersWallImporter as EntryImporter for wall.alphacoders.com -made some rearrangements in the EntryImporter 0.23 (2012/12/20) -added some extra parameters to the search()-methods in SearchResult /Searchable -[swing] added SearchDialog for search in SearchResults per popup-menu -[swing] fixed JRatingBar -made some internal changes in SearchResult -[swing] finished DiashowView -[swing] added EntryPreview#getEntry() -fixed bug in WallbaseCCImporter -fixed bugs in CompareView and CoverFlowView -[swing] added Import-from-file button to ImportDialog -fixed bug in ListalImporter -[swing] fixed bug in TagTable where it hung while retrieving lengths for URLEntries (see previous change) -added a boolean-parameter, whether to wait for retrieving the length to Entry#getResourceLength() -[swing] fixed ContentPopupMenu in CoverFlowView -[swing] Added CoverFlowView as new ShowFolderExtension -added MediaCenter#threadPool to pool Threads for minor background-executions -added EntryImporter to handle importing of Entries -[swing] fixed resize-bug in SwingFolderPane -[swing] fixed some layouts -[swing] edited DiashowView to actually represent a diashow (still WIP) -[swing] added CompareView to compare two Entries -added ListalImporter to import single pictures from Listal -removed Extension-path from ExtensionsDialog -fixed bug in EditMultipleEntriesDialog 0.22 (2012/12/05) -[swing] added new Logger to SettingsDialog -modified Settings/-Loader to fit new Logger -reworked Logger (now has static methods for access) -fixed bug in ScriptIO#writeRule(Rule) -modified MediaCenter#exit(boolean) for a proper shutdown -made Data singleton -added MediaCenter#exit(boolean) for shutting down the program -added ActivatorRegister#getAllDataServices() to retrieve all DataServices -SwingGui now is a DataListener -> updates views on data-changes -[swing] fixed ContentPopupMenu for FolderImageLabel -fixed bug in ScriptIO -added JRatingBar to MetaDataPanel to edit Entry-rating -added Logger#severe(Throwable) as equivalent to Logger#error(Throwable) -[swing] fixed bug in TagTree causing the program to hang after certain options in ContentPopupMenu -added ListSearchResult to display simple lists of Entries -[swing] removed showAll-flag out of all Result-Views because of its redundancy with SearchResult#allowsSubResults() -moved MediaCenter#DEBUG_OUTPUT to Debugger -created Debugger to handle all debug-stuff -removed debug-output from Data -added flag, whether to autoTag to Data#addEntry/addEntries -removed flag, whether to autoTag out of Entry-constructor -[swing] fixed bug in EditTagsDialog -[swing] rearranged layout of SettingsDialog -[swing] made OptionsDialog to OptionsMenu -[swing] made ButtonPanel to MainMenu (JMenuBar) -added Logger#error(Throwable) to detailed log errors 0.21 (2012/11/25) -added option to Settings whether to scan all folders on startup -[swing] moved Import-Button to Main-Window and added Save-Button to OptionsDialog -[swing] added parameter for SwingGUIMainFrame to set the default window-size -[swing] moved the updateLookAndFeel()-method to SwingGUI -[swing] renamed SwingMediaCenterGUI to SwingGUIMainFrame and also its Activator -[swing] introduced SwingGUI to allow SwingGUIMainFrame to have own parameters -attempted to fix Layout in StatusBar -Data#scanAllFolders(boolean) now runs in an extra Thread -[swing] fixed bugs in EditMultipleEntriesDialog -[swing] rearranged OptionsDialog + added notifications -[swing] fixed bug in Desktop-View of SwingFolderPane -added IMDBVideoImporter (still WIP) -cleaned up the project -changed some deprecated methods -[swing] added StatusBar to display status -decreased Thread-Priority of FolderMonitors for smoother start -[swing] fixed bug in EntryPreviews -[swing] added support for MIDI-files (still WIP) -[swing] added support for animated gif-files -[swing] joined initialization and invocation of ShowEntryExtensions and EntryPreviews in SwingEntryView -some minor changes -added RuleSearchResult for SearchResult according to a Rule 0.20 (2012/11/11) -[swing] added Preview-support for Archives (only .zip and .jar) -[swing] fixed bug in SettingsDialog resulting in wrong storage of settings -[swing] changed Data-loader-selection in SettingsDialog -[swing] added option to view only direct children to ContentPopupMenu (still WIP) -[swing] TagTree now also uses ContentPopupMenu -deleted some unnecessary Extension- and Activator-Interfaces -moved some GUI-only Extensions out of the api-source -added IMDBImageImporter to import images from IMDB -[swing] moved EntryPreviews to extra package + added parameter whether to show entry-name -made some minor changes -[swing] Added PopupMenu to TagTree -added XMLIO (still WIP) -changed I/O-system, created ContentIO providing methods to be implemented by the specific I/O-class -[swing] Improved some gui-methods -[swing] Updated ContentPopupMenu (former Entry~) to provide methods for SearchResults -added parameter to Data#addTag() to determine whether an contentAdded should be thrown -[swing] added LogDialog to view the program's log -added FlickrImporter to import Entries based on flickr-images -[swing] ExtensionsDialog now sorts the Extensions by path -[swing] added ImportDialog for graphical import -added ImportEntryExtension to provide methods to import Entries -moved loadImage() out of Entry into EntryLoader -introduced EntryLoader to collect methods loading the content of an Entry -[swing] added Rating to TagTable and MetaDataPanel (still WIP) 0.19 (2012/10/06) -added PropertiesSettings to store Settings based on the properties-format -changed some DataListeners -[swing] fixed bug where removing/adding content didn't update the view -introduced method to recreate the current SearchResult to update its content -[swing] removed DataServer-parameter from SettingsDialog -[swing] added parameter-validation to ExtensionsDialog -changed Console and DataServer into DataServices -added DataService to run services providing access to the Data -[swing] added EntryPreview and ShowEntryExtension for DirectoryEntry -reorganized the SearchResult-stuff -added EntryType to support various types of entries -added support for the webP image-format (if the imageIO-plugin from http://sourceforge.net/projects/javavp8decoder/ is in the library path) -made some performance- and security-improvements -made DefaultSettings public and moved it to extra file -added Settings#setInstance() to set the currently used Settings-instance -made Content an interface 0.18 (2012/09/23) -[swing]Fixed Desktop-View in SwingFolderPane and added DataListener -added method, to check if parameter is valid, to ExtensionActivator -[swing] shortened some unnecessary long method-calls, improving performance -[swing] added option to choose between desktop- and splitpane-view in ShowFolderPane (still WIP) -[swing] added SwingFolderPane to group all ShowFolderExtensions -[swing] removed all ShowFolderExtensions from SwingMediaCenterGUI -[swing] added below option to SettingsDialog -added option, whether to autoremove dead Entries, to Settings -[swing] fixed FolderImageView and added minimum preview-size as parameter -[swing] fixed ToolTips in ExtensionDialog -added EntryAttribute#ENTRY_RATING to rate entries -[swing] fixed and improved EditTagsDialog -[swing] finished changes in MetaDataPanel -[swing] added EntryArchivePane to view archives (currently only zip-based) -improved image-loading of Entries -added checks for required libraries -fixed not loaded Extensions when no settings-file present 0.17 (2012/09/12) -[swing] made some minor improvements in the GUI -moved isActive() and setActive() to ExtensionActivator -added additional methods to TranslationKeys to ease translation of DataType and EntryAttributes -[swing] added option to edit entry meta-data in MetaDataPanel -[swing] fixed bug in EntryInfoDialog resulting in displaying entry-info multiple times -did some code-improvements -[swing] added additional columns to TagTable + new stores the selection (+order) in the parameter -added TranslationKeys for all EntryAttributes -reorganized some EntryAttributes -changed XMLSettings, so only LibraryExtensions and Extensions with parameter are saved -[swing] improved loading in FolderImageView/-Label and DiashowView -[swing] most Dialogs now close on 'escape' (if no subcomponent has focus) -[swing] added live-search to TagTable -added methods to search for a single Entry in a SearchResult 0.16 (2012/09/04) -[swing] added ExtensionsLibrary to ExtensionsDialog -added support for ExtensionLibraries -[swing] fixed some bug in the GUI -some rearrangements in the GUIExtensions -[swing] improved updating GUI when Content changes -fixed bug in SearchResult -added 32px icons to TangoIconSet -added PropertiesIconSet for loading icons via a properties-file -added CheckIconSets for fast check if the IconSets are complete -added icon for search-action and default icon for not-found icons -added check whether Desktop-actions are supported 0.15 (2012/08/28) -fixed bug in SearchResult resulting in StackOverflowError -[swing] improved performance in TagTable -[swing] added scroll-bars to EntryTextPane -[swing] double-click on EntryPreview now opens Entry -[swing] added default EntryPreview for all other Entries -[swing] added EntryPreview for text-based Entries -[swing] now displays number of currently visible children in the title -[swing] improved EntryInfoDialog and -Panel -fixed deleteFile()-method in MediaCenter -[swing] fixed some bugs -improved search-algorithm in SearchResult -[swing] added HierarchyView to navigate in the hierarchy of the current SearchResult -added class Console for console-modus (still WIP) -[swing] added addURL-Button to SwingGUI -BinaryIO2 is now completely working 0.14 (2012/08/17) -added DataListener to be notified if Data changes -[swing] fixed row-sorting + tool-tips in TagTable -added default-Logger and default-Settings -substituted BinaryIO with BinaryIO2 -reorganized the scripting-system (moved all methods to ScriptIO) -[swing] (Add-Button) now updates GUI only when some entries were added -added ScriptLoader to read/write the data via the scripting-system -some reorganizations in the packages -added script-support to all data -created common superclass for all data (Content) to define methods to be implemented -improved search-algorithm in DefaultFileMapping -added NavigableEntryImagePanel to substitute EntryImageLabel (has more functionalities) in non-preview mode -fixed some issue with XMLLoader -added Compression-support to XMLLoader 0.13 (2012/08/06) -added ExtensionNotFoundException -removed allowLast out of Tag due to superfluity -added method to check, if the extension-register (ActivatorRegister) is active -added method to TranslationExtension for advanced testing -improved TestTranslation -changed all 'capability' to 'attribute' in TranslationKeys -changed some syntax in data.dtd (property -> attribute, capabilityRule -> attributeRule) -renamed Capability to EntryAttribute and CapabilityRule to AttributeRule -added NullLogger to disable logging -fixed some missing translations -[swing] removed non-working 'remove matching entries'-option from OptionsDialog -added default AutoTags for non-existent data -[swing] fixed sorting in TagTable (now the correct Entry is opened) -[swing] added tool-tips to TagTable -improved DefaultFileMapping, so it adds the user-mapping to the system one's and doesn't override them -added BinaryIO2 to later on substitute BinaryIO (after some testing) 0.12 (2012/08/04) -added updateGUI()-method to GUIMainExtension to notify GUI if Data changes -introduced FileMappingExtension to solve the File-DataType mapping-problem -ParameterTranslation now also supports URLs as parameter -removed obsolete EditRulePanel -added tool-tips to the RuleWizardDialogs -changed FileLogger, so the log-file has the timestamp in the name -added Wizards for creating BasicRule and CapabilityRule -fixed TestTranslation and some typos in TranslationKeys -adapted EditRuleBasedTagPanel to use the new EditRuleScriptPanel -changed EditRuleDialog, so it uses EditRuleScriptPanel -introduced EditRuleScriptPanel to edit a Rule via the new script-language -added scripting-language for Rules -fixed an issue with MediaPlayerPanel -marked some Rule.Types deprecate, use the corresponding Capability instead 0.11 (2012/07/31) -added selection of TranslationExtension to SettingsDialog -substituted all strings with the call to the active TranslationExtension -added all identifiers to TranslationKeys -added tool-tips to explain use of parameter to ExtensionsDialog -moved IconSets and Translations into own source-folder -added DefaultEnglishTranslation and GermanTranslation -added TranslationExtension for localized GUI (based upon an *.properties-file mapping identifiers to their translation) 0.10 (2012/07/24) -fixed issues with changing DataLoaderExtension -adjusted SettingsDialog to fit the new functionality of Data and DataLoaderExtension -created DataLoaderExtension to load Data -moved loading of Data out of the subclasses of Data -added index and number of Entries to OpenEntryDialog when opening several Entries -adjusted removal of non-used tags to fit the new method of filtering Entries -changed the Data#filter()-method, so all Entries are only filtered once -moved from jdom to jdom2 -some minor reorganizations -added some minor details -changed console output, so the user sees the port really used -added support for port 0 to let the system choose the port -fixed some bugs with concurrent access to the Data's Entries-list -moved the keepImages(InRAM)-option to Settings -marked some obsolete stuff deprecated 0.09 (2012/07/17) -complete overhaul of the Extension-System (again and hopefully the last time) -fixed EditFolderMonitorDialog to match the new FolderMonitor -renamed and reorganized some methods in the basic classes -moved the icon-sets into the swing source-folder -removed obsolete Register-class -moved the testing-classes out of the api source-folder -updated swing-GUI to Java 7 -ported all I/O-operations to try-with-resource -ported FolderMonitor to Java 7 (now it really "monitors" the folders) -porting TagBasedMediaCenter to Java 7 (WIP) -removed EditEntryExtension, because it's a MediaCenter, no MediaEditor -adapted SettingsDialog to new situation
!!Newer versions of this program are guaranteed to not work with older
java versions and are definitively not backwards-compatible!!
0.08 (2012/07/14) -added version to OptionsDialog -introduced SingletonExtension to allow real singleton-behavior of Extensions -removed generic parameters from Extensions -complete overhaul of the extension-system -added icons of various sizes for all IconSetExtensions -added parameter to load icons of various sizes to all IconSetExtensions -added TangoIconSet based on the tango-icon-set for GNOME -added HumilityIconSet based on the humility-icon-set for GNOME -added ExtensionsDialog to de-/activate extensions and set parameters -fixed failing to load settings if extension is missing -improved some layouts -added dialog on first startup to add FolderMonitors -added option to reset all Settings to SettingsDialog 0.07 (2012/07/10) -fixed some minor graphical inconsistencies -fixed behavior of DiashowView and FolderImageView if no entries available -fixed behavior of XMLData for non-existent data-file -added default settings if there is no settings-file -added date of creation to the EntryInfoPanel -added option to set Look-and-Feel in SettingsDialog -added parameters for extensions to the settings-file -moved Look and Feel to SwingMediaCenterGUI -added separate MetaDataPanel for displaying and changing meta-data -unhinged gui-components from basic src-folder -fixed issue with FolderMonitor not able to be updated twice in one runtime -added zoom-support to non-preview-mode in EntryImageLabel (still WIP) -added options to EntryImageLabel#scaleImage() -introduced preview-mode and non-preview-mode to EntryImageLabel 0.06 (2012/07/04) -fixed some (hopefully last) issues with the new URLEntry -re-added previously removed automatic storing of image-properties in the Entry-properties -fixed classes, so that the program works with the new Entry-class -introduced URLEntry for Entries based on an URL as resource -separated basic-Entry from FileEntry to make the entries independent from the resource -improved performance loading images -fixed issues with loading images -finished moving actions into SwingMediaCenterGUI 0.05 (2012/06/30) -conditioned actions like open,info,remove on GuiMainExtension. MediaCenter now only provides the basic methods to run system-calls -fixed some possible bugs -removed some unnecessary code -conditioned GuiExtensions on GuiMainExtension -added action-images to the default icon-set -finally added functionality to the keepImages-option -updated SettingsDialog -updated Settings -narrowed Logger to always log to console(Logger) and to whether to log to File (FileLogger) 0.04 (2012/06/18) -BinaryData, RemoteData and RemoteAccessData now fully functioning -added Logger (currently FileLogger, URLLogger and SystemOutLogger) -added Logger to Settings -removed some deprecated methods -added icons to the buttons and the EntryPopupMenu 0.03 -added server-mode -made gui exchangeable (via GUIMainExtension) -added support for icon-sets (via IconSetExtension) -added SettingsDialog