-
Update
ProjectUpdaterto sort jars inproject.xmlconsistently between Windows and Linux. -
Remove the file type being added to dependency jars as it counts towards the limited class path length in Windows.
-
Added
displayAlert()anddisplayLargeAlert()to NotifyDisplayer withinCoreUtilities. They can be used to display alerts without and withTextAreaelements respectively. -
Updated
CoreImportExportPluginsmore specificallyDelimitedandJDBCpackages. Common code was put into a common class to remove duplication. Many classes now extend the parent class for concrete implementations. -
Removed
QualityControlViewPane.getLookup()as it was not needed. -
Removed the file type being added to dependency jars as it counts towards the limited class path length in Windows.
-
Updated
ProjectUpdaterto sort jars inproject.xmlconsistently between Windows and Linux.
- Added
FourTupleto the Core Utilities module.
-
Added
hasLowLevelTag()toPluginReportclasses to check whether a plugin has a “LOW LEVEL” tag specified. -
Added Keyboard Shortcut to Scatter Plot View. Shortcut is Ctrl-Shift-O
-
Updated all state reading and writing plugins to have a “LOW LEVEL” tag.
-
Moved a number of classes out of
au.gov.asd.tac.constellation.plugins.importexport.delimitedandau.gov.asd.tac.constellation.plugins.importexport.jdbcinto the base package to help remove duplicate classes. -
Converted the Tutorial Page into a What’s New page for displaying changes in Constellation.
-
Added
RecentGraphScreenshotUtilitiesto manage taking screenshots of graphs to be used by the Welcome tab. -
Added
createReadAttributeObject()toGraphReadMethods. -
Added
createWriteAttributeObject()toGraphWriteMethods. -
Added
createReadObject()andcreateWriteObject()inAttributeDescription. -
Added a number of classes to
CoreGraphFrameworkto support the layers view. -
Added
ConnectionGlyphStream,ConnectionGlyphSteamContext,NodeGlyphStream,NodeGlyphStreamContextandGlyphStreamContextclasses. -
Moved Layers View Shortcuts from
au.gov.asd.tac.constellation.views.layers.utilitiestoau.gov.asd.tac.constellation.views.layers.shortcut -
Removed
setCurrentContext(),addGlyph()andnewLine()fromConnectionLabelBatcherandNodeLabelBatcher. -
Removed
LayersViewShortcutsand added associated functionality toLayersViewPane. -
Updated
renderTextAsLigatures(),newLine(), andaddGlyph()fromGraphManagerandGraphManager.GlyphStreamto take additional parameter of type GlyphStreamContext -
Updated
ConnectionLabelBatcherandNodeLabelBatcherto no longer implementGraphManager.GlyphStream. -
Updated
setCurrentConnection()andnextParallelConnection()inConnectionLabelBatcherto take an extra parameter of typeConnectionGlyphStreamContext. -
Updated
ConnectionLabelBatcher.bufferLabel()to take extra parameters. -
Updated
NodeLabelBatcher.fillTopLabels()to take different parameters. -
Updated
bufferTopLabel()andbufferBottomLabel()inNodeLabelBatcherto take an extra parameter of typeNodeGlyphStream. -
Updated
getTableData()andexportToCsv()inTableViewUtilitiesto take an extra parameter of typePagination. -
Updated
TableViewUtilities.exportToExcel()to take additional parameters. -
Updated
TableViewUtilities.ExportToExcelFile.writeRecords()to take additional parameter of typeint. -
Updated
LAYER_MASK_SELECTEDandLAYER_MASKattributes to be of typeLonginstead ofInteger. -
Updated constructor for
LayersViewStateWriter. -
Updated parameters for
setLayers()andupdateLayers()inLayersViewPane.
-
Updated
DefaultPluginInteractionandPluginParametersto unfocus the Ok button from the plugin swing dialog if there is a multi-line string parameter so that enter can be used in the parameter. -
Added a feature to the Histogram View to copy values from selected histogram bars using ctrl+c or a right-click context menu.
-
Added Delimited File Importer to work inside of a view. UI improvements and various bugfixes with checkbox changes.
-
Added utility methods to
ConstellationColorwhich assist with getting inverse colors.
-
Added
AnalyticSchemaV4UpdateProviderto upgradeSchemaVertexTypes that have changed. -
Added utility class
NotifyDisplayerand static methodNotifyDisplayer#displayfor use when displaying aNotifyDescriptormessage box. -
Fixed a bug exporting Glyph Textures to the wrong location if the folder path had a period.
-
Updated
QualityControlAutoVetterto improve performance by using aSimpleReadPlugininternally. -
Updated the Quality Control View so that it is multi-threaded and no longer runs on the EDT.
-
Removed the Attribute Calculator.
-
Added
LayerConceptto group all of the layer mask and layer visibility attributes together. -
Moved the creation of
QUERY_NAME_PARAMETERandDATETIME_RANGE_PARAMETERwithinCoreGlobalParametersand can be accessed by direct reference; i.e.CoreGlobalParameters.QUERY_NAME_PARAMETERS.
-
Added feedback for delimiter import.
-
Added basic support for MacOS.
-
Added
ProjectUpdaterwhich will manage adding dependencies to theproject.xmlfile.-
The
ivy.xmlfile is now located atCoreDependencies/src/ivy.xml. -
The
ivysettings.xmlfile is now located atProjectUpdater/src/ivysettings.xml.
-
-
Fixed a label rendering bug on MacOS.
-
Fixed a DPI scaling bug on MacOS and Windows.
-
Fixed a bug effecting the histogram scrolling.
-
Fixed a bug preventing v1 graphs from being open.
-
Moved
ImmutableObjectCache,IntHashSetandTimerfrom the Graph Framework module to the Utilities module. -
Removed deprecated methods from the graph API -
Graph#getWritableGraphOnEDT,Graph#undo,Graph#redoandGraphWriteMethods#addAttribute. -
Removed
GraphUtilitesfrom the Graph Framework module as it was unused. -
Updated ReadableGraph to allow use with the try-with-resources pattern.
-
Updated ImportController’s processImport function to return the list of files it has imported.
-
Updated parameter types for
OverviewPanel.setExtentPOV()from longs to doubles. -
Updated the
constellationapplication/netbeans-runnerdocker image to11.3.2to includepython3so that automation can be done via thebuild-zip.shscript inconstellation-app/constellation-applications
-
Added search feature to Table View Column Selection.
-
Fixed the mouse controls of the Map View to be consistent with the graph view.
-
Fixed a bug that caused custom markers to disappear
-
Fixed the mouse controls of the Map View to be consistent with the graph view.
-
Fixed a bug that caused custom markers to disappear
-
Added search feature to Table View Column Selection.
-
Added
functions.shto reuse common utility methods. This can be used by scripts related to Travis. -
Added Layers view to the Experimental views tab.
-
Added
RenderablePriorityenum toGLRenderableto house the constants that sat in that class. -
Added
VisualPriorityenum toVisualOperationto house the constants that sat in that class. -
Added
DoubleAttributeDescription,DoubleAttributeInteraction,DoubleEditorFactoryandDoubleIOProviderto support high precision numbers in attributes. -
Added
DoubleObjectAttributeDescription,DoubleObjectAttributeInteraction,DoubleObjectEditorFactoryandDoubleObjectIOProvideras a nullable alternative to the double attribute type. -
Added
ShortAttributeDescription,ShortAttributeInteraction,ShortEditorFactoryandShortIOProviderto support numbers with lower memory usage in attributes. -
Added
ShortObjectAttributeDescription,ShortObjectAttributeInteraction,ShortObjectEditorFactoryandShortObjectIOProvideras a nullable alternative to the short attribute type. -
Added
ByteAttributeDescription,ByteAttributeInteraction,ByteEditorFactoryandByteIOProviderto support numbers with lower memory usage in attributes. -
Added
ByteObjectAttributeDescription,ByteObjectAttributeInteraction,ByteObjectEditorFactoryandByteObjectIOProvideras a nullable alternative to the byte attribute type. -
Added
obfuscate()toPasswordObfuscator. -
Removed the container image to build the NetBeans 8 version of Constellation.
-
Removed
getSearchString(), canBeImported()andordering()fromAttributeDescription` and any implementing classes. -
Removed
datetimeparameter frommakeDateTimesEven()inZonedDateTimeAxisas this was not needed. -
Removed
boxBlurF()andboxBlurFF()fromGaussianBluras their implementation was simple enough to be added straight to where they called from. -
Renamed
getTags()inGraphReporttogetUTags()to match field the function was getting. -
Renamed
getChildReports()inPluginReporttogetUChildReports()to match field the function was getting. -
Renamed
equal()inNativeAttributeTypetoequalValue()to avoid confusion withObject.equals(). -
Renamed
PasswordKeytoPasswordSecretand addedgetIV()to the class. -
Renamed
DefaultPasswordKeytoDefaultPasswordSecretto mirror above change. -
Updated the container used to build Constellation on Travis to
11.3.1which fixes the issue of no code coverage being reported in SonarQube. -
Updated the java source detected by SonarQube to check for Java 11.
-
Updated
build.xmland.travis\build-zip.shwith support for MacOSX and a temporary hardcoding of version numbers. -
Updated
deobfuscate()inPasswordDeobfuscatorto now return a String instead of a CharSequence.
-
Added
AnalyticSchemaPluginRegistryto Core Analytic Schema -
Added new module Core Attribute Calculator to separate it from the Scripting View.
-
Added new module Core Named Selections to break it out of Core Functionality.
-
Added new module Core Plugin Reporter to separate it from the plugin framework.
-
Added new module Core View Framework containing
AbstractTopComponentand other related classes. -
Added
VisualGraphPluginRegistryto Core Visual Graph -
Fixed a logic bug with
GraphRendererDropTargetpreventing graph droppers from every running. -
Moved
AnalyticIconProvidertoau.gov.asd.tac.constellation.utilities.icon. -
Moved a number of plugins out of Core Functionality into other modules to better reflect their purpose.
-
Moved
AttributeSelectionPanelto Core Graph Utilities module. -
Moved
BBoxfandBBoxdto the Core Visual Graph module. -
Moved
CharacterIconProvidertoau.gov.asd.tac.constellation.utilities.icon. -
Moved
ConstellationColortoau.gov.asd.tac.constellation.utilities.color. -
Moved
ConstellationIcontoau.gov.asd.tac.constellation.utilities.icon. -
Moved
ConstellationViewsConcepttoau.gov.asd.tac.constellation.graph.schema.concept.SchemaConcept. -
Moved
DragActionto Core Visual Graph module. -
Moved
SchemaAttributetoau.gov.asd.tac.constellation.graph.schema.attribute. -
Moved
SchemaConcepttoau.gov.asd.tac.constellation.graph.schema.concept. -
Moved
SchemaTransactionTypetoau.gov.asd.tac.constellation.graph.schema.type. -
Moved
SchemaVertexTypetoau.gov.asd.tac.constellation.graph.schema.type. -
Moved
SimpleGraphOpenerandSimpleGraphTopComponentto the Core Graph Node module. -
Moved
UserInterfaceIconProvidertoau.gov.asd.tac.constellation.utilities.icon. -
Moved
VisualConceptto the Core Visual Schema module located atau.gov.asd.tac.constellation.graph.schema.visual.concept. -
Moved
VisualGraphOpenerandVisualGraphTopComponentto the Core Interactive Graph module. -
Moved
VisualManagertoau.gov.asd.tac.constellation.utilities.visual. -
Removed the
build-zipstage from Travis as it wasn’t being used. -
Removed the Core Visual Support module by merging it with Core Utilities.
-
Renamed base package of Core Algorithms to
au.gov.asd.tac.constellation.plugins.algorithms. -
Renamed base package of Core Analytic Schema to
au.gov.asd.tac.constellation.graph.schema.analytic. -
Renamed base package of Core Arrangements to
au.gov.asd.tac.constellation.plugins.arrangements. -
Renamed base package of Core Import Export to
au.gov.asd.tac.constellation.plugins.importexport. -
Renamed base package of Core Plugin Framework to
au.gov.asd.tac.constellation.plugins. -
Renamed base package of Core Visual Schema to
au.gov.asd.tac.constellation.graph.schema.visual. -
Renamed
DecoratorstoVertexDecoratorsand moved to Core Visual Schema module. -
Renamed
InteractivePluginRegsitrytoInteractiveGraphPluginRegistry. -
Renamed
IoProgressHandletoHandleIoProgress. -
Updated Core Analytic Schema with all attribute classes relevant to it.
-
Updated Core Visual Schema with all attribute classes relevant to it.
-
Updated the Core Web Server module with a complete rewrite regarding adding REST services.
-
Updated the
README.MDinstructions to explain the NetBeans 11 installation workaround. -
Updated the REST API with a major refactor.
-
Updated the Travis run image to use NetBeans 11.3 and include the workaround for NetBeans 11.
-
Fixed a bug which now ensures that overriding a transaction direction using
GraphRecordStoreUtilities.DIRECTED_KEYpersists with the Type. -
Updated JOGL to 2.4.0 to assist in migration to JDK11. The new JOGL jars are hosted as third-party dependencies on GitHub until available on maven.
-
Renamed
NodeGraphLabelsEditorFactorytoVertexGraphLabelsEditorFactory. -
Renamed
SupporPackageActiontoSupportPackageActionto fix a spelling typo.
-
Added
LabelFontsOptionsPanelto allow setting of fonts rendered on the graph through the UI. -
Added
ConstellationLabelFontsinterface to allow programmatic specification of default label fonts.
-
Added method
suppressEvent(boolean, List<>)toPluginParameterwhich allow setting of properties/options without firing change events. -
Moved
CoreUtilitiesin the Core Functionality module toPreferenceUtilitesin the Core Utilities module. -
Renamed
ArcgisMapProvider toEsriMapProvider. -
Updated
EsriMapProviderto support both regular tile-based services, as well as image export. This can be specified by overriding the newgetMapServerTypemethod.
- Remove deprecated jai libraries.
-
Added
DevOpsNotificationPluginto Core Functionality to track messages from plugins for developers and administrators attention. This is only going to be useful if you have setup aConstellationLoggerthat sends information to a database or elastic search. -
Fixed a bug with the Restful service caused by multiple servlet libraries used that created a clash.
-
Added
BrandingUtilitiesto Core Utilities to maintain the application name “Constellation”.- You can set the command line argument
constellation.environmentwith a label and it will appear in the title. For instance, this could be used to distinguish “Development”, “QA” and “Production” versions.
- You can set the command line argument
-
Added
PluginParameters.hasParameter()to the Core Plugin Framework module as a convenient way to check if a parameter exists. -
Fixed a Null Pointer Exception when selecting Circle arrangements.
-
Fixed the
GitHuburl used by Help -> Submit a Ticket. -
Removed several unused dependencies, including JOGL, JTS,
OpenCSV,Trove4j,JScience,andXML-APIs. -
Renamed
ConstellationLogger.ApplicationStarttoConstellationLogger.ApplicationStarted,ConstellationLogger.ApplicationStoptoConstellationLogger.ApplicationStopped,ConstellationLogger.PluginStarttoConstellationLogger.PluginStartedandConstellationLogger.PluginStoptoConstellationLogger.PluginStopped. -
Updated several dependencies to the latest versions, including Geotools, Jetty, Apache Commons, Jackson,
RSyntaxArea,Google Guava, Apache POI, EJML, Processing, Jython, andSwingX. -
Updated
ConstellationLoggerwith new methodsviewStarted,viewStoppedandviewInfoto support logging of Views. -
Updated
DefaultConstellationLoggerwith a VERBOSE flag to switch between no-op and logging to standard out. -
Updated
AbstractTopComponentto log when the view is opened, closed, showing, hidden, activated and deactivated.
-
Added a
Content.URLattribute to represent a URL link in theContentConcept. -
Fixed a lot of compile warnings related to Java generics and
PluginParametersusage. -
Removed
ConstellationSecurityProvider.getPriorityas it duplicated functionality of (and conflicted with) the lookup system. -
Removed
OldStringUtilitiesand merged the required methods toStringUtilities.
-
Fixed a bug with
SchemaVertexTypeUtilitiesandSchemaTransactionTypeUtilitiesnot respecting overridden types. -
Removed MODIFIED icon from
UserInterfaceIconProvider. -
Removed STARS and CONSTELLATION icons from
AnalyticIconProvider. -
Updated CHART icon in
AnalyticIconProvider. -
Updated
RestClientin the Core Utilities module with a minor refactor and support for posting bytes. -
Updated
SchemaFactorywithgetIconSymbolandgetIconColormethods to allow for more customisable icons. Graph icons will now be made up of a symbol on top of a colored square background much like how vertices on a graph are represented. -
Updated the font used by the renderer from Arial Unicode MS to Malgun Gothic due to licensing restrictions with the Arial font resulting it from no longer being installed on Windows by default.
-
Renamed
NodeGraphLabelsAttributeDescription,NodeGraphLabelsAttributeInteraction,andNodeGraphLabelsIOProvidertoVertexGraphLabelsAttributeDescription,VertexGraphLabelsAttributeInteraction,andVertexGraphLabelsIOProviderfor consistency. -
Updated the
SchemaAttribute.ensure()method to create the attribute if it does not exist by default. This fixes a number of plugins that failed if the attribute was not defined. -
Updated
SimpleEditPlugin.edit()method to be abstract as it doesn’t make sense to have an edit plugin without any editing occurring.
-
Added 23 new country flag icons.
-
Added Arrange by Node Attribute to combine the function of Arrange by Group and Arrange by Layer into a single plugin.
-
Added an
updateParametersmethod toau.gov.asd.tac.constellation.views.histogram.formats.BinFormatterfor Histogram ViewBinFormattersto use. -
Fixed how
ConstellationIconwas building and caching icons and images resulting in a major performance improvement and reduced memory usage. -
Updated
Ctrl+Backspaceto do nothing so that pressing it in a text area on a docked window won’t cause it to minimize.
- Added a new interface called
DataAccessPreQueryValidationto check before running Data Access View queries.
-
Added Enrichment to the
DataAccessPluginCoreTypeclass. -
Moved
au.gov.asd.tac.constellation.analyticviewtoau.gov.asd.tac.constellation.views.analyticview. -
Moved
au.gov.asd.tac.constellation.attributeeditortoau.gov.asd.tac.constellation.views.attributeeditor. -
Moved
au.gov.asd.tac.constellation.conversationviewtoau.gov.asd.tac.constellation.views.conversationview. -
Moved
au.gov.asd.tac.constellation.coretoau.gov.asd.tac.constellation.functionality. -
Moved
au.gov.asd.tac.constellation.core.dependenciestoau.gov.asd.tac.constellation.dependencies. -
Moved
au.gov.asd.tac.constellation.dataaccesstoau.gov.asd.tac.constellation.views.dataaccess. -
Moved
au.gov.asd.tac.constellation.displaytoau.gov.asd.tac.constellation.visual.opengl. -
Moved
au.gov.asd.tac.constellation.findtoau.gov.asd.tac.constellation.views.find. -
Moved
au.gov.asd.tac.constellation.histogramtoau.gov.asd.tac.constellation.views.histogram. -
Moved
au.gov.asd.tac.constellation.interactivegraphtoau.gov.asd.tac.constellation.graph.interaction. -
Moved
au.gov.asd.tac.constellation.mapviewtoau.gov.asd.tac.constellation.views.mapview. -
Moved
au.gov.asd.tac.constellation.qualitycontroltoau.gov.asd.tac.constellation.views.qualitycontrol. -
Moved
au.gov.asd.tac.constellation.scatterplottoau.gov.asd.tac.constellation.views.scatterplot. -
Moved
au.gov.asd.tac.constellation.schemaviewtoau.gov.asd.tac.constellation.views.schemaview. -
Moved
au.gov.asd.tac.constellation.scriptingtoau.gov.asd.tac.constellation.views.scripting. -
Moved
au.gov.asd.tac.constellation.tableviewtoau.gov.asd.tac.constellation.views.tableview. -
Moved
au.gov.asd.tac.constellation.timelinetoau.gov.asd.tac.constellation.views.timeline. -
Moved
au.gov.asd.tac.constellation.visualgraphtoau.gov.asd.tac.constellation.graph.visual. -
Moved
au.gov.asd.tac.constellation.visualsupporttoau.gov.asd.tac.constellation.visual. -
Moved
au.gov.asd.tac.constellation.webviewtoau.gov.asd.tac.constellation.views.webview. -
Moved private classes that implemented
ParameterValueto public classes to resolve the problem of not being able to set values from a script. These includeAnalyticAggregatorParameterValue,SpatialReferenceParameterValue,ElementTypeParameterValueandGraphAttributeParameterValue. -
Renamed
Plugin.getOverriddenPlugintoPlugin.getOverriddenPluginsin the Core Plugin Framework module which is a breaking change. -
Updated
GraphWriteMethodsto include a version ofaddTransactionthat accepts a transaction ID. -
Updated
PermanentMergeActionto run in it’s own thread (rather than the EDT). -
Updated structure of Merge Transactions Plugin to allow for more merge by types.
-
Added validation check to
Date-TimeRange Global Parameter in Data Access View. -
Added validation check to numeric parameters in plugins accessed from Data Access View.
-
Added plugin
CopyCustomMarkersToGraphto generate nodes on your graph from custom markers in the Map View. -
Fixed some performance issues in the conversation view.
-
Updated
MarkerCachewith functions to build and style markers from the graph, allowing this functionality to be used outside of the Map View. -
Updated
MarkerUtilitieswithgenerateBoundingBoxmethod. -
Updated
ConstellationAbstractMarkerwithgetRadiusmethod.
-
Moved the
getOverriddenPluginmethod from theDataAccessPluginclass to the Plugin class. This technically allows the ability for any plugin to be overridden. Note that the current implementation pattern is to call a plugin from a registry and this would need to be modified before plugin calls fromPluginExecutorcould be overridden. -
Removed
MultiScoreResultfromt he analytic view - all score based analytics now useScoreResultand support multiple scores by default. -
Renamed
IconProvidertoConstellationIconProvider -
Renamed
GlobalCoreParameterstoCoreGlobalParameters -
Renamed all plugin parameter id references from
\*_PARAMETERto\*_PARAMETER_ID
-
Added the
overridenTypeproperty toSchemaElementType,and removed it fromSchemaVertexTypeandSchemaTransactionType. -
Fixed a performance issue in
SchemaElementType.toString()by pre computing the hierarchy on initialisation.SchemaElementType.getHierachy()is a slow method and was being called too many times. The performance improvement has made it about 1.7 times faster to load, save and work with graphs. -
Fixed the views that have not been upgraded to the new View Framework to have the font size applied to the Top Component on load.
-
Updated
SchemaElementType.isSubTypeOfto take overridden types into account.
-
Added a new plugin to open a url in a browser called
OpenInBrowserPluginthat is available in Core Functionality. -
Added a new plugin to send to an email client called
SendToEmailClientPluginthat is available in Core Functionality. -
Renamed
SchemaAttribute.getFormatContexttoSchemaAttribute.getFormat. -
Updated
PlaceholderUtilitieswith support for collapsing placeholders using the standard graph API.
-
Added functionality to cache icons.
-
Fixed a bug in the Analytic schema factory which was not correctly applying the schema rules to complete the vertex.
-
Fixed a memory leak introduced by the
FPSRenderableclass. -
Fixed a performance issue with the Table View by moving work off the EDT.
-
Added
AnalyticConcept.VertexType.USER_NAME. -
Added Subdivision enum containing country subdivisions (currently incomplete).
-
Added
TemporalFormattingUtiltiesto the Core Utilities module. -
Added an
IpAddressUtilitiesclass to the Core Utilities module. -
Fixed a performance issue with
JDropDownMenuin the Core Utilities module moving theactionPerformedwork into its own thread. -
Fixed the spelling of public constants and comments that incorrectly spelt separator in various modules.
-
Renamed
AnalyticConcept.VertexType.HOSTNAMEtoAnalyticConcept.VertexType.HOST_NAME. -
Renamed
GeospatialUtilitiesto Distance and movedHaversineUtilitiestoDistance.Haversine. -
Renamed
ShapeUtilitiesto Shape,MgrsUtilitiesto Mgrs andGeohashUtilitiesto Geohash. -
Updated Country enum to align with the latest version of ISO 3166-1.
-
Updated the copyright to Apache Version 2.0 with the Australian Signals Directorate being the License owner.
-
Added a
RestClient.postWithJson()to allow you to post your own json string in the Core Utilities module. -
Added plugins
CreateVertexTypePluginandCreateTransactionTypePluginto allow REST clients to create custom types. -
Fixed
PluginParametersto useColorValueinstead of Color. This caused a cascade of fixes in other classes. -
Fixed a bug with the spanning tree algorithm which was preventing it from creating a nraduis attribute.
-
Renamed
ColorValuetoConstellationColorto make it clearer what it should be used for and to avoid conflicts with external classes. -
Renamed
TemporalFormatting.DATE_TIME_FORMATTERtoTemporalFormatting.UTC_DATE_TIME_FORMATTERandTemporalFormatting.DATE_TIME_WITH_MILLISECONDS_FORMATTERtoTemporalFormatting.UTC_DATE_TIME_WITH_MILLISECONDS_FORMATTERin the Core Utilities module. TheseDateTimeFormatterconstants are now build using theDateTimeFormatterBuilderensuring they convert dates to UTC correctly. -
Updated the support package generation to ignore the heapdump file as it is likely to be several gigabytes in size.
-
Added
FilterPluginto the Core Data Access View module. -
Added
PasswordParameterTypeinto the Core Plugin Framework module. This change has also removed the capability ofStringParameterTypeto support passwords. -
Added strict
DateTimeFormatter'sbased onDateTimeFormatter.ISO_INSTANTto theTemporalFormattingclass in Core Utilities. -
Fixed a performance issue by reducing the amount of “Find State” saves made to the graph as it’s causing graph write lock contention for a trivial GUI state that will be already covered when you run a search, switch graphs or save the graph.
-
Fixed an issue handling invalid Glyphs.
-
Fixed some performance issues with the Map View.
-
Removed deprecated methods being
PluginGraph.executePluginLater,PluginGraph.executePluginNowandPluginGraph.updateGraph. -
Renamed Plugin.id to
Plugin.ID -
Updated JOGL to 2.3.2 and Processing to 3.3.6 to resolve
OpenGLissues with the Map view. -
Updated default node and transaction colors in order to ensure overlay colors stand out more.
-
Updated default node z2 value.
-
Updated password obfuscation to use a service lookup to get the key. To use it implement
PasswordKeyin the Core Security module.
-
Added New Nebula into th
Experimental->Toolsmenu -
Added an FPS counter
OpenGLrenderer that can be enabled from the Debug preference tab. -
Added new
MatrixUtilitiesclass for constructing useful matrices from a graph. -
Added simple icon shaders for rendering basic icons on the graph.
-
Removed the REST API endpoints /forward (forwarding a request to another HTTP server), /resources (offering embedded web resources), and /static (serving resources from a specified local directory) have been removed.
-
Renamed
ApplicationPreferenceKeys.DEFAULT_FREEZE_GRAPH_VIEWtoApplicationPreferenceKeys.FREEZE_GRAPH_VIEW_DEFAULTin the Core Preferences module. -
Renamed
SharedDrawable.getIconShadertoSharedDrawable.getVertexIconShaderto differentiate it fromSharedDrawable.getSimpleIconShader. -
Updated Core Web Server code so the workings out of the web servlets into separate
\*Impl.javaclasses. This makes the workings transport independent, in preparation for adding anon-HTTPtransport. In theory, there should be no change in functionality. -
Updated the Core Web Server module to add a filesystem REST transport.
-
Updated the constructor for Decorators to expect its parameters in a clockwise order: north-west, north-east, south-east, south-west.
-
Updated the various
\*Preferencepanels to follow and more of an MVC pattern.
-
Added
FactColorTranslatorandFactToSizeTranslatorto the Core Analytics View module. -
Added
FirstAnalyticPluginto the Core Analytics View module. -
Added
FirstFactAggregatorin the Core Analytics View module. -
Added a new attribute called
isLabeltoSchemaAttributein the Core Graph Module with the intention of allowing the schema to decide if the attribute should appear as aGraphLabelon a vertex or transaction. -
Added a new
isLabelandisDecoratorattributes toSchemaAttributewith the intention of allowing the schema to decide if the attribute should appear as aGraphLabelor Decorator on a vertex or transaction. -
Added equivalent method to
SchemaAttributeallowing you to compare with an Attribute object. -
Renamed
ClusterAggregatortoFirstClusterAggregatorin the Core Analytics View module. -
Renamed
MultiScoreResult.getUniqueNamestoMultiScoreResult.getUniqueScoreNamesin the Core Analytics View module. -
Renamed
MultiScoringAnalyticPlugintoMultiScoreAnalyticPluginin the Core Analytics View module. -
Renamed
PluginRegistry.getPluginNamestoPluginRegistry.getPluginClassNames. -
Renamed
ScoringAnalyticPlugintoScoreAnalyticPluginin the Core Analytics View module. -
Renamed
getLabeltogetNameandgetTypetoGetAttributeTypefor the Attribute class. -
Renamed the get_pos(g) method to get_nx_pos(g) in the constellation_client provided with the REST API.
-
SchemaFactory.ensureAttributenow takes a boolean specifying whether the attribute should be created even if it is not registered to that schema. Similarly,SchemaAttribute.ensureprovides this option.
-
Fixed memory leaks with the
ListeningTopComponentandTimelineTopComponent. -
Renamed
COLOR_BLAZEin theCorePluginRegistrytoADD_CUSTOM_BLAZE. -
Updated entries within the Tools and Experimental menu.
-
Updated
ListeningTopComponentto allow for the update and removal of change handlers.-
addAttributeChangeHandlerwas renamed toaddAttributeValueChangeHandler. -
addGlobalChangeHandler,addStructureChangeHandler,addAttributeCountChangeHandlerandaddAttributeValueChangeHandlernow return the Monitor objects associated with that handler. -
updateGlobalChangeHandler,updateStructureChangeHandler,updateAttributeCountChangeHandlerandupdateAttributeValueChangeHandlerhave been added to allow modification to the behaviour of a handler. -
removeGlobalChangeHandler,removeStructureChangeHandler,removeAttributeCountChangeHandlerandremoveAttributeValueChangeHandlerhave been added to allow removal of a handler. -
removeIgnoredEventhas been added to allow removal of an ignored event.
-
-
Added forward slash (/) to the list of special characters to escape in
LuceneUtilitiesin the Core Utilities module. -
Removed extra
FindStatePlugincalls from theColorCriteriaPanelwhich will help reduce unnecessary write locks on the graph and reduce overall threads being forked.
-
Added
MultiplexityAnalyticandWeightAnalyticplugins and analytics. -
Added
SnaConcept.Transaction.MULTIPLEXITYto the Core Algorithms module. -
Renamed
SnaConcept.GRAPH.GRAPH_DENSITYtoSnaConcept.GRAPH.DENSITYin the Core Algorithms module.
-
Added
GraphNodePluginRegistryin the Core Graph Node module. -
Added
JSingleChoiceComboBoxMenuas a single choice alternative toJMultiChoiceComboBoxMenu. -
Added
LuceneUtilitiesto the Core Utilities module. -
Added
SeparatorConstantsto the Core Utilities module. -
Added more attributes to
ContentConceptin the Core Analytic Schema. -
Fixed a bug where the singleton type was not being used when loading a graph.
-
Fixed a bug with the
WorkflowQueryPluginwhich was removing the graph attributes after a batched run completed. -
Moved
NewDefaultSchemaGraphActionfrom the Core Simple Schema module to the Core Graph Node module. -
Moved
NewExperimentalSchemaGraphActionfrom the Core Simple Schema module to the Core Graph Node module. -
Moved
NewSchemaGraphActionfrom the Core Simple Schema module to the Core Graph Node module. -
Moved
au.gov.asd.tac.constellation.algorithms.geospatial.Geohashin the Core Utilities module toau.gov.asd.tac.constellation.utilities.geospatial.GeohashUtilities -
Moved
au.gov.asd.tac.constellation.algorithms.geospatial.Haversinein the Core Utilities module toau.gov.asd.tac.constellation.utilities.geospatial.HaversineUtilities -
Moved
au.gov.asd.tac.constellation.core.opener.SimpleGraphTopComponenttoau.gov.asd.tac.constellation.core.visual.SimpleGraphTopComponent. -
Moved
au.gov.asd.tac.constellation.core.visual.SaveAsActionin the Core Functionality module toau.gov.asd.tac.constellation.core.save.SaveAsAction. -
Moved
au.gov.asd.tac.constellation.graph.file.GraphOpenerin the Core Graph File toau.gov.asd.tac.constellation.graph.file.opener.GraphOpener. -
Moved
au.gov.asd.tac.constellation.graph.file.autosave.AutosaveUtilitiesin the Core Graph File module toau.gov.asd.tac.constellation.graph.file.save.AutosaveUtilities. -
Moved
au.gov.asd.tac.constellation.schema.simpleschema.plugins.LoadTemplatePluginfrom the Core Simple Schema toau.gov.asd.tac.constellation.graph.node.templates.LoadTemplatePluginin the Core Graph Node module. -
Moved
au.gov.asd.tac.constellation.schema.simpleschema.plugins.ManageTemplatesActionfrom the Core Simple Schema toau.gov.asd.tac.constellation.graph.node.templates.ManageTemplatesActionin the Core Graph Node module. -
Moved
au.gov.asd.tac.constellation.schema.simpleschema.plugins.ManageTemplatesPluginfrom the Core Simple Schema toau.gov.asd.tac.constellation.graph.node.templates.ManageTemplatesPluginin the Core Graph Node module. -
Moved
au.gov.asd.tac.constellation.schema.simpleschema.plugins.SaveTemplateActionfrom the Core Simple Schema toau.gov.asd.tac.constellation.graph.node.templates.SaveTemplateActionin the Core Graph Node module. -
Moved
au.gov.asd.tac.constellation.schema.simpleschema.plugins.SaveTemplatePluginfrom the Core Simple Schema toau.gov.asd.tac.constellation.graph.node.templates.SaveTemplatePluginin the Core Graph Node module. -
Moved the base package in Core Simple Schema to
au.gov.asd.tac.constellation.schema.simpleschema. -
Removed
GraphUtilitiesExtrain the Core Graph Utilities module. TheGraphUtilitiesExtra.copyGraphToGraphmethod toCopyGraphUtilities. -
Removed the experimental
WordGraphPluginin the Core Arrangements module. -
Renamed
ExtractFromContenttoExtractFromContentPluginin Core Data Access View. -
Renamed
JMultiChoiceDropDownMenutoJMultiChoiceComboBoxMenu. -
Renamed
MergeNodestoMergeNodesPluginin Core Data Access View. -
Renamed
MergeTransactionstoMergeTransactionsPluginin Core Data Access View. -
Renamed
PluginParameter.setLabel()toPluginParameter.setName()to be more consistent with the remainingAPI's. -
Renamed
RemoveNodestoRemoveNodesPluginin Core Data Access View. -
Renamed
SchemaAttributeUtilitiesin theCoreGraphUtilitiestoAttributeUtilities. -
Renamed
SelectAlltoSelectAllPluginin Core Data Access View. -
Renamed
SelectTopNtoSelectTopNPluginin Core Data Access View. -
Renamed Utilities to
GraphObjectUtilitiesin the Core File module. -
Renamed the Core Simple Schema module to Core Visual Schema.
- The new package name is
au.gov.asd.tac.constellation.schema.visualschema.
- The new package name is
-
Renamed
SimpleSchemaFactorytoVisualSchemaFactory. -
Renamed
SchemaPluginRegistrytoVisualSchemaPluginRegistry. -
Updated all plugin parameters to build the parameter name via
PluginParameter.buildId()which is declared as a constant ending in_PARAMETER. -
Updated all plugin parameters to make sure they have a name and description.
-
Updated
ColorValueso that colors can now only be retrieved using one of thegetColorValue(...)methods. This is to ensure that named color values are always used where available.
-
Added Auth and supporting classes which allows support for a username/password dialog.
-
Added
BuildIconGraphActionwhich allows you to construct a graph showcasing all the icons loaded in memory. -
Added
FILE_NAMEtoContentConceptin the Core Analytic Schema module. -
Added
ObfuscatedPasswordand supporting classes which allows for obfuscated passwords. -
Added
RecordStoreUtilities.fromCsv()to the Core Graph Module. -
Moved all Graph IO classes to the Graph module and removed the Graph IO module.
-
Moved
au.gov.asd.tac.constellation.schema.analyticschema.concept.ClusteringConcepttoau.gov.asd.tac.constellation.algorithms.clustering.ClusteringConcept. -
Moved
au.gov.asd.tac.constellation.schema.analyticschema.concept.SnaConcepttoau.gov.asd.tac.constellation.algorithms.sna.SnaConceptin the Core Alogorithms module. -
Moved some centrality plugins to
au.gov.asd.tac.constellation.algorithms.sna.centralityin th Core Alogorithms module. -
Moved the social network analysis plugins into a new parent package
au.gov.asd.tac.constellation.algorithms.snain the Core Alogorithms module. -
Removed the Core Graph IO, Charts, Networkx, Remote and Integration Testing modules.
-
Renamed
HierarchicalAttributeDescriptionin the Core Algorithms module toHierarchicalStateAttributeDescription. -
Renamed the importexport.delimited.parsers package to importexport.delimited.translaor to accurately reflect what it stores
-
Updated all modules to now depend on the minimum version used by
NetBeans8.2. -
Updated the
ControlsFxlibrary to version 8.40.13 so that it is compatible Java 8u144. -
Updated to
NetBeans8.2 and Java 8u144.
-
Added new module Core Web Server to hold all the classes related to managing local web servers and the Constellation REST API.
-
Added
ConstellationApiServletto abstract away the idea of checking a secret for each api call. -
Added
TypeServletto allow operations related to types in the Constellation REST API. -
Added
SchemaVertexTypeUtilities.getTypeOrBuildNew()andSchemaTransactionTypeUtilities.getTypeOrBuildNew()to the Core Graph module. -
Added an
ImageConceptto the Core Analytic Schema module. -
Fixed a bug with types serialisation. Types are now loaded exactly the way they were saved to the graph file by properly serialising types in
VertexTypeIOProviderandTransactionTypeIOProvider. -
Renamed all
*Popupclasses that implementContextMenuProviderto end in*ContextMenu. -
Removed
AnalyticVertexTypefrom the Core Analytic Schema module. -
Removed
ApplicationPreferenceKeys.SCRIPTING_LANGUAGEandApplicationPreferenceKeys.SCRIPTING_LANGUAGE_DEFAULTfrom the Core Preferences module as we have made a design choice to use Python as our scripting language. -
Removed the
topLevelTypeattribute fromSchemaElementTypeas it can be calculated. -
Updated
AnalyticConceptto build types usingSchemaVertexTypeandSchemaTransactionType. -
Updated
SchemaElementTypeby removing thesetIncomplete()method which means that Types are now immutable. -
Updated
SchemaVertexTypeandSchemaTransactionTypeto be final. Any type object has to be either one of these which simplifies types. -
Updated the Content
ContentConceptin the Core Analytic Schema module with more attributes. -
Updated the properties map in
SchemaElementTypeto be a Map of String to String so that serialisation is simplified.
-
Added ability to make
AnalyticPluginclasses hidden from the Analytic View GUI using theisVisiblemethod. -
Added imperial measurements and conversions to the Haversine class.
-
Removed Map View v1 packages.
-
Removed all networkx analytic plugins for which there are java replacements.
-
Renamed
CorePluginRegistry.SELECT_ONE_NEIGHBOURtoCorePluginRegistry.SELECT_PENDANTSin Core Functionality module. -
Renamed
FxStateIOtoFxStateIOProviderin the Core Table View module. -
Renamed
GeoUtilitiestoGeospatialUtilities. -
Renamed
ImportExportRegistryin the Core Import Export module toImportExportPluginRegistry. -
Renamed
ShortestPathsFollowDirectionPlugintoDirectedShortestPathsPlugin. -
Renamed
TableStateIOtoTableStateIOProviderin the Core Table View module. -
Renamed
TableStateTransactionIOtoTableStateTransactionIOProviderin the Core Table View module. -
Renamed
TableStateVertexIOtoTableStateVertexIOProviderin the Core Table View module. -
Renamed package
au.gov.asd.constellation.utilities.geotoau.gov.asd.constellation.utilities.geospatial. -
Renamed the
ChangeSelectionplugin in the Data Access View module toSelectAll. -
Updated the Map View to allow for custom overlays by extending the
MapOverlayclass. The current info and tool overlays have been converted to this framework. -
Updated the
SchemaAttributeUtilitiesclass so that any schema attribute lookup requires aGraphElementTypeto be specified. This is to avoid dealing with conflicts where a vertex and transaction attribute with the same name exist.
-
Fixed a bug detecting graphics card compatibility.
-
Moved all
*AttributeUpdateProviderclasses in ‘au.gov.asd.tac.constellation.graph.io.versioning’ to ‘au.gov.asd.tac.constellation.graph.io.providers.compatability’. -
Removed the
@Deprecatedtag for classes in *compatibility packages. These classes will need to remain to support backward compatibility and can not be deprecated. To avoid them being used a comment has been added at the top of each class. -
Renamed
AttrListAttributeDesciptiontoAttrListAttributeDesciptionV0in the Core Graph module. -
Renamed
AttrListIOProvidertoAttrListIOProviderV0in the Core Graph IO module. -
Renamed
GraphLabeltoGraphLabelV0in the Core Visual Graph module. -
Renamed
GraphLabelsAndDecoratorstoGraphLabelsAndDecoratorsV0in the Core Visual Graph module. -
Renamed
GraphLabelsAndDecoratorsIOProvidertoGraphLabelsAndDecoratorsIOProviderV0in the Core Visual Graph module. -
Renamed
LabelsAttributeDescriptiontoLabelsAttributeDescriptionV0in the Core Visual Graph module. -
Renamed package ‘au.gov.asd.tac.constellation.schema.analyticschema.update’ to ‘au.gov.asd.tac.constellation.schema.analyticschema.compatibility’.
-
Renamed package ‘au.gov.asd.tac.constellation.schema.simpleschema.update’ to ‘au.gov.asd.tac.constellation.schema.simpleschema.compatibility’.
-
Added
RawData.isEmpty(). -
Added
ScoringAnalyticPluginandMultiScoringAnalyticPluginto simplify the addition of analytics to the Analytic View for the case where the analytic simply needs to run a plugin and read the resulting scores. -
Added
SelectTopNto the Data Access View module to select the top n nodes based on the transaction count and type. -
Added
TextPluginInteractionin the Core Plugin Framework module that will be useful in unit tests. -
Added a
MultiScoreResultresult type to the Analytic View, as well as aggregators and translators allowing calculations and visualisation. This result type is designed to support any analytic which produces multiple scores as output. -
Added ability to override the foreground icon associated with a type by adding custom icons named the full hierarchy of that type.
-
Fixed bugs with the
SimpleSchemaV*UpdateProviderclasses that caused the wrong icons to be set. -
Moved the
DEFAULT_FONTconstant from theFontUtilitiesclass in Core Visual Support toApplicationPreferenceKeysin Core Preferences. -
Removed
DebugUtilitiesfrom the Core Preferences module as the convention is to use differentjava.util.logging.Loggerlevels. -
Removed
StringBuilderOutputStreamdue to its implementation being fundamentally wrong. UsingByteArrayOutputStreamandtoString(StandardCharsets.UTF_8.name())is a better approach. -
Removed the representation() method in
SchemaElementTypeand replaced it with thegetHierarchymethod which is now called by thetoString()method inSchemaElementType.- When setting types in
RecordStoreobjects, you should no longer usegetName()it now returns the name of the type. GiventoString()has been overridden, it will return the type’s hierarchy as a string.
- When setting types in
-
Renamed
'getChoices'(and similarly named methods) to'getOptions'and'getChecked'to'getChoices'in theMultiChoiceParameterTypeclass. -
Renamed
'getChoices'(and similarly named methods) to'getOptions'in theSingleChoiceParameterTypeclass. -
Renamed
GenericTopComponenttoAbstractTopComponentin the Core Functionality module. -
Renamed package ‘au.gov.asd.tac.constellation.core.composites’ to ‘au.gov.asd.tac.constellation.core.composite’.
-
Renamed the
VisualConcept.VertexAttribute.UNIQUEIDattribute toVisualConcept.VertexAttribute.IDENTIFIER. -
Updated
XmlUtilitiesto optionally handle XML namespaces. Namespaces can be enabled by setting the'namespaceAware'flag in the constructor forXmlUtilities,and then you can use any method suffixed with ‘NS’ to take advantage of namespaces. -
Updated all font references in CSS files to use em instead of px so that fonts scale based on the screen resolution.
-
Updated how schema element types are stored in a .star file, where instead of the type name, the entire type hierarchy is now used. This is a backwards compatible change.
-
Updated the
DataAccessPaneto factor in the category position along with the plugin’s position which ensures that the favourites category is sorted similarly. -
Updated the implementation of the
resolveVertexandresolveTransactionmethods in theAnalyticSchemaclass to allow for hierarchical names specified by multiple types separated by the “.” character. -
Updated the
SimpleSchemaV*UpdateProviderandAnalyticSchemaV*UpdateProviderclasses by rearranging the logic so that each update provider is now responsible to manage the update of the concept it uses first. That is for example,SimpleSchema*UpdateProviderhandle’s the label attribute whilst theAnalyticSchema*UpdateProviderhandles updates to the Type attribute.-
The update provider no longer runs a Complete With Schema
-
The responsibility of the
UpdateProvidersis to only handle mandatory changes that would otherwise break the graph to said change. It will be up to the graph’s schema rules to update all elements on an old graph to be up to date with the latest look and feel. This can be done via Tools -> Complete with Schema or F5.
-
-
Added
GeoUtilities.dmsToDdto convert aDegrees-Minute-Secondsformatted geospatial coordinate to Decimal Degrees. -
Added
PrimaryKeyUtilitiesto the Core Graph Utilities module. -
Added
SplitNodesPluginin the Core Data Access module. -
Added a compare graph feature available from the Tools menu.
-
Added a new module called Core Integration Testing.
-
Moved
GeoUtilitiesfrom the Core Algorithms module to Core Utilities. -
Moved Tuple to the Core Utilities module.
-
Removed the Core Charts module.
-
Added
DownloadImageUtilitiesto the Core Utilities module. -
Added
HttpsUtilities.readErrorStreamAndThrowin the Core Utilities module to make reporting errors from services consistent. -
Added
IntegerObjectAttributeInteraction,LongAttributeInteractionandLongObjectAttributeInteractionclasses so that the corresponding attribute types are properly represented in the user interface. -
Added
LongObjectAttributeDescriptionclass for completeness. -
Added a “Start Jupyter notebook” capability.
-
Added the ability to add plugins to your favourites in the Data Access View.
-
Fixed a bug in
ConsolidatedDialogthat would not deselect correctly. -
Fixed a major performance issue where table view state updates where running on the EDT causing CONSTELLATION to lock up.
-
Fixed a serious bug when extending Types and calling
VertexTypeAttributeDescription.getString()causing a mis-representation of the type as a string. This was evident when retrieving the type value from aRecordStore. This is a temporary fix until the Types design is reviewed and possibly overhauled. -
Fixed bugs with quick search, advanced find and recent search queries.
-
Renamed
AbstractCalculatorUtilitytoAbstractCalculatorUtilitiesin the Core Scripting module. -
Renamed
ClipboardUtilitytoClipboardUtilitiesin the Core Functionality module. -
Renamed
ConsolidatedMultipleMatchesDialogtoConsolidatedDialogin the Core Functionality module. -
Renamed
DebugUtilitytoDebugUtilitiesin the Core Preferences module. -
Renamed
GraphUtiltoGraphUtilitiesin the Core Arrangements module. -
Renamed
SimpleStringUtilitiesin the Core Utilities module toStringUtilitiesand added new functionality. -
Renamed
StringUtilitiesin the Core Utilities module toOldStringUtilitiesand deprecated it. -
Updated
HttpsConnectionin the Core Utilities module to use the UTF-8 charset by default for application/json and application/xml content types. -
Updated all references to UTF-8 to use
StandardCharsets.UTF_8. -
Renamed
ArrangementRegistrytoArrangementPluginRegistryfor consistency with other plugin registry classes. -
Added ability to set custom context menu items on the
SeletableLabelclass used in the Conversation View. -
Moved resources for rendering pill buttons in
JavaFXfrom the conversation view module to the visual support module so they can be used anywhere in the application. -
Renamed
AlgorithmsRegistrytoAlgorithmPluginRegistryfor consistency with other plugin registry classes. -
Renamed references to plugins which extend
NetworkxCentralityPlugin,NetworkxImportancePluginandNetworkxSimilarityPluginin theAlgorithmPluginRegistry. They are all now appended with'_NX'to differentiate them from java implementations of the same algorithms.
-
Added
CreateCompositesFromDominantNodesPlugin. -
Added
SetDrawFlagPlugin. -
Added
SetVibilityAboveThresholdPluginwhich can be used to toggle the visiblity status instead. -
Added
VisibleAboveThresholdPluginwhich will update the draw flags based on whether the count of nodes has exceeded the threshold. -
Added a new module called Core Graph Utilities.
-
Added
au.gov.asd.tac.constellation.graph.utilities.io.CopyGraphUtilities. -
Added
au.gov.asd.tac.constellation.graph.utilities.io.SaveGraphUtilities. The methodsaveGraphToTemporaryDirectorycan be used to save graphs in unit tests. -
Added
au.gov.asd.tac.constellation.utilities.io.StringBuilderOutputStreamas a alternative tojava.io.StringWriterwhich usesStringBuilderinstead ofStringBufferas the underlying implementation. UsingStringBuilderOutputStreamin saycom.fasterxml.jackson.core.JsonFactory.createGenerator()can avoid anOutOfMemoryError. -
Fixed a bug where the graph visibility above threshold was no longer working.
-
Fixed a major bug with
GraphRecordStoreUtilities.getSelectedVerticesBatches()where the selected nodes were not correctly being added to the Recordstore. -
Moved
au.gov.asd.tac.constellation.schema.analyticschema.utilities.SubgraphUtiltiestoau.gov.asd.tac.constellation.graph.utilities.SubgraphUtilties -
Moved the
DeleteAllPluginandDeleteSelectionPlugintoau.gov.asd.tac.constellation.core.delete. -
Moved the Dim plugins to
au.gov.asd.tac.constellation.core.dimin the Core Functionality module. -
Moved the
PermanentMergePlugintoau.gov.asd.tac.constellation.core.mergein the Core Functionality module. -
Removed
ArrangeInComponentGridPluginwhich was a duplicate ofArrangeComponentsInGridPlugin -
Removed
ToggleVisibleAboveThresholdPlugin. -
Removed undo() and redo() methods from Graph.
GraphCommitsare tied toUndoableEditobjects, which are managed by a SwingUndoManager. The manager may call undo() or redo() on these edit objects at will, noting that they run asynchornously, because the EDT may not get a lock on the graph. No Future<?> to wait upon is available for these methods, meaning that it no longer makes sense to interact with the undo manager from the Graph in a programmatic way. Reimplementing these methods is desirable, but would require that something internal to CONSTELLATION code also keeps track of theUndoableEditobjects and has some way of knowing when a given edit has completed its undo/redo method. -
Renamed
CorePluginRegistry.COPY_SELECTED_ELEMENTStoCorePluginRegistry.COPY_TO_NEW_GRAPH. -
Renamed
HLGraphin the Core Graph module toSGraph. -
Renamed
HLReadableGraphin the Core Graph module toSReadableGraph. -
Renamed
HLWritableGraphin the Core Graph module toSWritableGraph. -
Renamed composites package in the Core Functionality module to composite.
-
Renamed dialogs package in the Core Functionality module to dialog.
-
Renamed selection package in Core Arrangements to select.
-
Renamed the drawing package in the Core Functionality module to draw.
-
Renamed the view package in the Core Functionality module to display.
-
Updated the “visual_state” attribute to be an attribute called “camera”, of type “camera”, that is a GRAPH rather than META attribute. A
SchemaUpdateProviderand anAttributeUpdateProviderwill automatically make this change when old graphs are loaded. To access the camera attribute, useVisualConcept.Graph.CAMERA.-
GraphVisualAccess.getX(vertex)already uses this pattern. Note that as with any default values in theVisualDefaultclass, these x,y,z defaults need to be respected when interacting with theCONSTELLATION'svisualisation framework. Higher level plugins/views are free to do whatever makes sense in the absence of x,y,z attibutes (for example arrangements would probably just throw a plugin exception). -
In the absence of x, y, or z vertex attributes, the default visual values of these attributes are now considered to be equal to the id of the vertex. The correct pattern to get an x, y, z value in the application for visualisation purposes is:
final int `xAttribute` = `VisualConcept.Vertex.X.get(readableGraph);` final float x = `xAttribute` != `Graph.NOT_FOUND` ? `readableGraph.getFloatValue(vertexId)` : `VisualDefaults.getDefaultX(vertexId);`
-
-
Updated
GraphVisualAccessexplicitly checks for null values of the Camera attribute on the graph and returnsVisualDefaults.DEFAULT_CAMERAinstead. Note that the Camera shouldn’t ever really be null, but as it is possible to set it programmatically (through scripting view), it is considered safer and more convenient to prevent the Visualisation framework itself from having to deal with null cameras.
-
COSNTELLATION'svisualistion and event handling framework has been reimplemented from the ground up. Performance, stability, correctness, extensability, and the design concept underlying it have all been greatly improved. The user experience should remain mostly the same. -
There is now a separation between three main components that were previously highly coupled: event handling, visualisation, and the graph. The class
VisualManagerhandles all communication between these components. -
VisualProcessoris an abstract base class for any component that provides a visualisation of the graph.-
GLVisualProcessoris an implementation which models the old open GL renderer. -
A lot of high level stuff in the GL Renderer has been rewritten as well, but low level stuff like the
Vector/Matrixutility classes and the shaders themselves are mostly the same. -
A simpler lightweight renderer (using Swing for example) could be implemented with relative ease as a subclass of
VisualProcessor.
-
-
VisualAccessis an interface thatVisualProcessorsmust now use to access the graph. They are not allowed to have reference to the graph directly.-
GraphVisualAccessis the default implementation for CONSTELLATION graphs. -
Theoretically
VisualProcessorscould visualise other ‘graph-like’ data structures if they implementVisualAccess
-
-
InteractionEventHandleris an interface for responding to mouse and keyboard gestures (as generated by AWT) on a CONSTELLATION graph.-
DefaultInteractionEventHandleris the default implementation in CONSTELLATION. It contains code that performs a similar function to the event handling code that used to be inGraphRenderer. -
VisualAnnotatorandVisualInteractionare two interfaces thatInteractionEventHandlerdepends on in order to help it translate gestures into graph actions/visualisations. -
InteractiveGLVisualProcessorextendsGLVisualProcessorto satisfy theVisualAnnotatorandVisualInteractioninterfaces so that theDefaultInteractionEventHandlercan respond to gestures on CONSTELLATION graphs rendered inOpenGL.
-
-
Updates to a
VisualProcessorfrom something like the event handler arrive in the form ofVisualChangeobjects that are sent to aVisualManager(wrapped inVisualOperations).-
The
VisualChange/VisualOperationframework’s purpose is to allow components to update the visualisation of a graph efficiently and without having to commit their changes first. -
The previous
GraphRendererachieved this, but only by being highly coupled with a Graph, and it had lots of logical flaws in its processing model. The new framework is rigorous and stable by separating data from its visualisation. -
Whilst the event handler is the primary client of this model, other components could be written to take advantage of it.
-
Animation has been rewritten to use this model. Previously they directly maniuplated specific buffers on the GL context, which meant they were highly coupled with the renderer, and could not be used by alterate visualisations.
-
-
A few features have been removed or now behave slightly differently:
-
Animations are now slower on large graphs. They may be able to be optimised in the future but this is considered low priority.
-
Some experimental animations have been removed.
-
You can no longer interact with an animation. This may also be fixed in the future, but it would be require a decent amount of work and is currently low priority.
-
Direction indicators no longer move when the mouse cursor moves (only when you rotate/pan the graph). They should be re-implemented as an animation, which would require a reasonably simple expansion of the animation framework to cater for utilising non-graph visual operations.
-
Lines and nodes are no longer
Anti-Aliased. The old method, however, was slow, deprecated and caused artifacts when AA was turned off in the graphics card settings. Graphs now render correctly regardless of the AA settings on the card (although currently enabling AA gives no visual improvement).AAingmay be implemented in the future by multisampling the graph texture. -
On large graphs, the renderer will update slightly later than the rest of the views (when creating nodes etc.). The display always took (at least) this long to update, but other views used to wait. This may be tricky to fix, but is not considered critical.
-
Note that whilst the graph will display that it is busy and prevent interaction during a write lock, the same will not occur during read locks. When a read lock is in progress, events will be queued and the display will not be updated until the read lock is released at which point all queued events will be processed in quick succession so that the event handler ‘catches up’. This effect can be seen by running “Experimental > Five Second Read Lock” and then trying to rotate/pan the graph. While this looks bad in this instance, in practice due to the brevity of read locks (but also their potential to be obtained at any point in time during the possession of a write lock), holding up but not terminating the event handler’s main loop is the most sensible course of action.
-
-
Fixed all known memory leaks.
-
Fixed failing unit tests.
-
Fixed some dialogs fading to the back.
-
Fixed the Plugin Reporter from causing
JavaFXto use up all the memory by removingPluginReporterPane'safter they reachMAXIMUM_REPORT_PANES. -
Fixed various bugs.
-
Renamed the Country utility class package name from countries to geo.
-
Reviewed and finalised icon set.
-
Updated the format when saving a graph file to use json objects for the color and the decorations attribute.
-
Double escaping strings in the decorations no longer occur.
-
Added
JMultiChoiceComboBoxclass to the Core Utilities module. This class provides a Swing alternative toJavaFX'sMultiChoiceComboBox. -
Added
MarkerCacheclass which manages markers on the Map View and can be looked up. This grants the Data Access View the ability to query locations from the Map View. -
Added REST API functionality for
RecordStore,static files and icons. -
Added the ability to blend a color with an icon image on creation.
-
Added the ability to delete a vertex or transaction from a
GraphRecordStoreby setting theDELETE_KEYkey. -
Fixed the bug in
ValueInputPaneswhich was causing old entry to appear after the text was modified.- The recent values combo was updated when a plugin was run,
causing its selection model to update, which in turn caused the
parameter it was managing recent values for to change right at
the point of plugin execution. Temporarily disabling the
listener from Recent Values -> Parameter whilst inside the
RecentValuesupdating listener solved the problem.
- The recent values combo was updated when a plugin was run,
causing its selection model to update, which in turn caused the
parameter it was managing recent values for to change right at
the point of plugin execution. Temporarily disabling the
listener from Recent Values -> Parameter whilst inside the
-
Removed
FreezeGraphViewPreferencePluginbecause it is only a preference change and does not need to be a plugin. -
Renamed get
GraphReadMethods.getAttributeLabel()toGraphReadMethods.getAttributeName()for consistency. -
Updated
GraphRecordStoreUtilities.getVertices()to return singleton vertices. -
Updated Python REST client which can now be downloaded.
-
Updated the majority of built-in icons available to Constellation to have a more flat, iconic style with transparent backgrounds. This makes the core icon set consistent and allows us to make better use of background icons for analytic purposes.
-
Added
LogActionto show the CONSTELLATION logs to the user. -
Added a “Support Package” menu item under help which zips the CONSTELLATION logs.
-
Added a
DataAccessStateobject which currently saves the String parameter values in the “Gobal Parameters” section of the Data Access View when you press Go. This parameters are saved with the graph so that they can be loaded when the graph opens. -
Added an option for
RecordStoreServletto return JSON suitable forPandas.DataFrame.from_items(). TheDataFrameJSON parser is much faster. -
Added missing type qualifiers in
GraphRecordStoreUtilitiesmethods. -
Added support back for attr_list attribute type which were found in legacy graphs. The attr_list attribute is converted to the currently supported Graph attributes in
SimpleSchemaV1UpdateProvider. -
Modified the
WritableGraph.flush()method to take a boolean parameter indicating whether or notGraphChangeListenerswill be notified.- The use case for this is performing a series of quick updates on
the graph that new
ReadableGraphsneed to be able to see, but that views don’t need to respond to - for example animations, event handling, etc. In this case, all views will still respond to the series of changes when commit() is called at the end of theWritableGraph'slifecycle.
- The use case for this is performing a series of quick updates on
the graph that new
-
Renamed
ParameterIOtoParameterIOUtilities. -
Updated
ConstellationDialogto dispose when thehideDialogis called which should free up resources.
-
Added a new Map View based on the third party libraries
'UnfoldingMaps’ and'Processing'.-
Maps are rendered using
OpenGLthrough Processing allowing for greater performance and flexibility in what can be drawn. -
Provides two-way interaction between the graph and the map by making use of the new generic top component framework.
-
Provides ability to add custom maps by extending the
MapProviderclass. -
Provides an information overlay which displays the location of the mouse pointer, the current zoom level and a scale bar.
-
Provides ability to place map providers in debug mode by overriding
MapProvider.isDebug. This will extend the information overlay to also provide debug information. -
Provides support for point, line, polygon and multi markers. Shape-based markers can be added to the graph by inserting
GeoJSONinto the'Geo.Shape'attribute. You can buildGeoJSONfor'Geohash'type nodes usingGeohash.getGeoJSON. -
Currently limited to rendering maps in the Web Mercator projection only.
-
-
Added
SchemaElementTypeclass as common base class for theSchemaVertexTypeandSchemaTransactionTypeclasses. -
Added a REST API. Initially this allows a
RecordStoreto be added to the active graph. -
Added a
ScriptingActionlookup to allow more actions to be added to the Scripting view Actions drop-down menu. -
Fixed various bugs.
-
Renamed
FeedbackHandlertoSupportHandlerand changed the menu name from “Feedback…” to “Support” -
Renamed
IconManager.getIconObjectstoIconManager.getIcons. -
Updated
SaveResultsFileWriter.writeRecordStoreto be memory efficient which fixes ajava.lang.OutOfMemoryErrorexception and removedSaveResultsFileWriter.write. -
Updated plugins to provide their own arrangements after being run by overriding
RecordStoreQueryPlugin.completionArrangement(). By default anyRecordStoreQueryPluginwill now finish with an Grid arrangement (which is fast). This is a breaking change which replacesRecordStoreQueryPlugin.arrangeOnCompletion(). -
Updated some Alert dialogs to use the Netbeans
DialogDisplayerAPI to enforce modality. -
Updated the internal web server to listen on only the loopback address instead of all addresses, and has a default port instead of being dynamically assigned.
-
Added Analytic View v2 framework.
-
Any plugin can now be used as an analytic using the
AnalyticPluginclass. -
Pre-canned questions are now extensible using the
AnalyticQuestionclass. -
Both internal and graph visualisations are now extensible using the
InternalVisualisationandGraphVisualisationclasses respectively. -
Note that adding new analytics may require the definition of a new result type using the
AnalyticResultclass, as well as the construction of anAnalyticTranslatorclass to translate between your result and any visualisations you wish to enable.
-
-
Added
IntegerObjectAttributeDescriptionto handle integer type attributes which could also be null. -
Added generic
JavaFxTopComponentandListeningTopComponentclasses to abstract away the creation of new views in CONSTELLATION. -
Assigned names to common threads to assist with debugging.
-
Fixed various bugs.
-
Fixed various performance enhancements to type lookups.
-
Improved the type hierarchy used by the Analytic dominance calculator.
-
Moved
au.gov.asd.tac.constellation.graph.GraphChangeEventtoau.gov.asd.tac.constellation.graph.monitor.GraphChangeEvent. -
Moved
au.gov.asd.tac.constellation.graph.GraphChangeListenertoau.gov.asd.tac.constellation.graph.monitor.GraphChangeListener. -
Moved utilities for interacting with schemas from the
SchemaFactoryclass to theSchemaFactoryUtilitiesclass. -
Removed
SchemaFactory.getPositionin favour of using aServiceProviderposition annotation. -
Removed the
CoreExtFxmodule. -
Renamed
SimpleSchemaFactory.SIMPLE_SCHEMA_NAMEtoSimpleSchemaFactory.SIMPLE_SCHEMA_ID. -
Renamed arrow icons from UP to
ARROW_UP,DOWN toARROW_DOWNetc. -
Replaced
ControlsFXdialogs withJDK'sAlert class. -
Updated module short and long descriptions.
-
Updated platform to use Java8u92 and Netbeans 8.0.2
-
Updated regular expressions used for the Phone Number, Email
IPv6Address, Country and Geohash types. -
Updated various menu item positions.
-
Added “Templates” which allow users to save multiple custom visualisations. Templates are essentially constellation files in disguise - however only the graph attributes are saved, no graph element data.
-
Menu items (including icons) have been added to allow easy creation of graphs from templates, saving templates, and management of templates.
-
Management of templates allows templates to be deleted, and also set as the default graph to open when the user selects New Graph (or hits
control+N).
-
-
Added
HttpsUrlConnectionclass, a builder pattern to create aHttpsUrlConnectionwith sensible defaults like using GZIP compression and the user agent string set to ‘CONSTELLATION’. -
Added
HttpsUtilitiesclass, a utility class to safely retrieve streams from aHttpsUrlConnection. -
Added
ObjectAttributeDescriptionsclass which allows you to quickly define an attribute description for any attribute backed by a class extending Object. -
Added a lot of Javadocs and fixed Javadoc warnings.
-
Added org.apache.poi and org.apache.commons.lang as dependencies.
-
Added the
GraphLabelsand Decorators classes for specifying labels and decorators on a graph. -
Added the ability for graph attributes to provide an attribute merger so that you can decide what happens when attributes merge.
-
Fixed memory leak in Data Access View.
-
Fixed minor bugs relating to attributes, including correctly saving and loading default values for icon attributes, and fixing the previously non-functioning ‘set default value’ option when creating/modifying a new attribute in the attribute editor.
-
Fixed various bugs.
-
Moved some preferences from the
ApplicationPreferenceKeystoDebuggingPreferenceKeys. -
Removed ability to set default values for visual attributes through preferences in favour of the new template system. The changes have been explained in a what’s new entry to avoid user confusion.
-
Removed bespoke editors such as “Edit > Labels” in favour of using the streamlined approach provided by the attribute editor.
-
Removed the
CorePluginGuidemodule. -
Renamed
VisualConcept.TransactionAttribute.COLOR_REFERENCEtoVisualConcept.GraphAttribute.TRANSACTION_COLOR_REFERENCE. -
Renamed
VisualConcept.VertexAttribute.COLOR_REFERENCEtoVisualConcept.GraphAttribute.NODE_COLOR_REFERENCE. -
Renamed all attribute name constants e.g.
HierarchicalState.ATTR_NAMErenamed toHierarchicalState.ATTRIBUTE_NAME. -
Renamed package
au.gov.asd.tac.constellation.attributeeditor.handlertoau.gov.asd.tac.constellation.attributeeditor.editors. -
Renamed package
au.gov.asd.tac.constellation.attributeeditor.handlerimplementationtoau.gov.asd.tac.constellation.attributeeditor.editors.operations. -
Renamed the
PreferenceKeysclass toApplicationPreferenceKeys. -
Renamed the Rule class to
QualityControlRule. -
Updated
StringUtilitiesclass to streamline the serialisation of the reworked visual attributes such as labels and decorators. -
Updated
UpdateProviderclass to convert from old graphs to new graphs have been included (meaning that the old graph labels and decorators framework still exists in a compatibility package). -
Updated various menu item positions.
-
Updated visual attributes (and visual properties previously not exposed as attributes) so they can be used as regular graph attributes.
-
Fixed a dormant graph locking bug.
-
Fixed various bugs.
-
Improved Schema API.
-
The way in which graph schemas are created and controlled within CONSTELLATION has been overhauled, resulting in a more consolidated, and overall simpler API.
-
The most notable change is the introduction of “Schema Concepts” which collect related attributes, vertex types and transaction types into conceptual groups which can then be registered to a schema. Schema concepts will replace “Attribute Providers”, “Vertex Type Providers”, and “Transaction Type Providers” and are now hierarchical by default, making it easier to extend an existing concept.
-
Other changes include the simplification of “Schema” and “Schema Factory”, and new utility classes for interacting with schema concepts, vertex types and transaction types. In addition to this, we also now have a new convention where schemas should no longer extend each other, but rather inheritance should be limited to schema concepts.
-
-
Improved performance of
IconManagerand added new icons,BAGEL_BLUE,BAGEL_GREYand CHART. -
Improved the Scripting View API by adding support for LINK and EDGE types.
-
Moved the
WhatsNewProviderfromau.gov.asd.tac.constellation.core.tutorial.whatsnewtoau.gov.asd.tac.constellation.core.whatsnew. -
Updated
CoreImportExportnow using Apache Commons CSV to parse CSV files.
-
Added a new module called
CoreMapViewwhich contains the Map View framework. -
Added versioning to attribute description classes.
-
Fixed various bugs.
-
Fixed a dormant graphics bug.
-
Improved the
Rule.executeRulemethod by forcing it to take a copy of the graph. -
Renamed the
ResetPluginclass toResetViewPlugin.
- Added an icons API so that developers can add custom icons
programmatically using the
IconProviderclass.