- Moved hashmod package from Core Graph Utilities to Core Import Export Plugins as a more appropriate module.
- Moved
NoGraphPane
from Layers View to the View Framework so that other views can use it. - Updated
NoGraphPane
to take two parameters needed for the abstraction.
- Removed
FloatArray.clone()
and replaced with a constructor that takes aFloatArray
object. - Removed
IntArray.clone()
in favour of constructor that takes aIntArray
object. - Removed
NamedSelection.clone()
and replaced with a constructor that takes aNamedSelection
object. - Updated the method GetNodeLocation() to getNodeLocation() in class InteractiveGLVisualProcessor.
- Removed
graph
parameter fromPermanentMergeTableModel.initialise
as it was unused.
- Removed
dateTimeAttr
parameter fromClusteringManager.InitDimOrHidePlugin
as it was unused. - Removed
datetimeAtrr
parameter fromTimelinePanel.initExclusionState
as it was unused. - Renamed
exclusionState()
,setIsShowingSelectedOnly()
, andsetIsShowingNodeLabels()
inTimelineState
togetExclusionState()
,setShowingSelectedOnly()
, andsetShowingNodeLabels()
to follow naming convention. - Updated
TimeExtents
to be a record instead of a class. - Updated
VideoFrame
to be a record.
- Updated the
constellationapplication/netbeans-runner
docker image to21
to include updates to Netbeans, Azul JDK, and other tools used as part of image.
- Updated GraphML error messaging for invalid nodes and edges. Transaction Identifiers added as UUIDs if none are found.
- Replaced FindView to express the new interface build in JavaFX and removed the old Swing implementation
- Changed LookupPluginsTask to implement Supplier<Map<String, Pair<Integer, List>>>.
- Updated return type of
LookupPluginsTask.get()
from Map<String, List> to Map<String, Pair<Integer, List>>. - Updated
plugins
parameter type inQueryPhasePane.QueryPhasePane()
from Map<String, List> to Map<String, Pair<Integer, List>>. - Updated
PLUGIN_LOAD
member variable type inDataAccessPaneState
from Map<String, List> to Map<String, Pair<Integer, List>>. - Updated return type of
DataAccessPaneState.getPlugins()
from Map<String, List> to Map<String, Pair<Integer, List>>.
- Added global thread pool class called ConstellationGlobalThreadPool has been created and can be called to generate a new thread.
- Removed code that created new thread pool every time a new thread was needed.
- Removed unused class
NestedIncircleDrawing
from Core Arrangement Plugins. - Removed several unused methods from
PQTree
in Core Arrangement Plugins. - Updated
comprisingIds
parameter type inCompositeUtilities.makeComposite()
from List to Collection. - Updated
results
parameter type inAnalyticResult.setSelectionOnGraph()
from List to Iterable. - Updated
results
parameter type inAnalyticResult.addAll()
from List to Iterable. - Updated
keys
parameter type inGraphTaxonomy.setArrangeRectangularly()
from Set to Iterable. - Updated
childNums
parameter type inPQTree.addLeaves()
from List to Iterable. - Updated
includedVertices
andexcludedLinks
parameters type inGraphSpectrumEmbedder.matrixFromGraph()
from Set to Collection. - Updated
circles
parameter type inBoundingCircle.enclosingCircle()
from List to Iterable. - Updated
verticesToConsider
parameter type inTaxFromNeighbours.getTaxonomy()
from Set to Iterable.
-
Moved
ApplicationFontOptionsPanel
,ApplicationFontOptionsPanelController
andApplicationFontPreferenceKeys
intoApplicationOptionsPanel
,ApplicationOptionsPanelController
andApplicationPrefrenceKeys
respectively. -
Moved
AnaglyphicDisplayPanel
,AnaglyphicDisplayOptionsPanelController
andAnaglyphicDisplayPreferenceKeys
intoGraphOptionsPanel
,GraphOptionsPanelController
andGraphPreferenceKeys
respectively.
- Moved
ClusteringConcept
,HierarchicalStateAttributeDescription
andKTrussStateAttributeDescription
fromCoreAlgorithmPlugins
toCoreAnalyticSchema
so that they could be used in an schema updater to update the spelling of 'color' in some attributes changed.
-
Updated
RestClient
so thatparams
are passed asList<Tuple<String, String>>
rather thanMap<String, String>
- this is to allow multiple parameters with the same name to be supplied, which is required for some endpoints. This change will break existing classes inheriting fromRestClient
if they are not modified to reflect the new parameter type. -
Removed unused classes
FileChooser
from Core Graph File andDataAccessResultsDirChooser
from Core Data Access View. Classes became unused in lieu of refactoring to utilize the classFileChooser
in Core Utilities.
- Added abstract classes
AbstractCachedStringIOProvider
andAbstractUncachedStringIOProvider
classes to Core Graph Framework and 'AbstractGraphLabelsIOProvider
class to Core Visual Schema and updated multiple IO Provider classes to implement these classes to avoid code duplication.
-
Removed unused classes
DecoratorUtilities
andLabelUtilities
from Core Visual Schema. -
Added a new parameter
tabCaption
innewTab
public methods inDataAccessTabPane
class to provide the Step tab caption when required. This is used when the user renames the default caption.
- Changed the return type of
processVertices
andprocessTransactions
methods inImportJDBCPlugin
andImportDelimitedPlugin
classes to return the number of imported rows. Added a new parametertotalRows
indisplaySummaryAlert
method ofImportJDBCPlugin
class. These allow a more meaningful summary status message after importing.
-
Added
netbeans.exception.report.min.level=900
andnetbeans.exception.alert.min.level=900
with both set to900
to make sure allERROR
andFATAL
levels will present a dialog box. -
Removed unused methods in
SelectableLabel
inConversationView
. -
Renamed methods returning a boolean value to start with "is" or "has". This includes methods in
KTrussState
inCoreAlgorithmPlugins
,AnalyticResult
inCoreAnalyticView
;GraphTaxonomy
&Scatter3dChoiceParameters
inCoreArrangementPlugins
;FindRule
,BasicFindPanel
&ReplacePanel
inCoreFindView
;HashmodPanel
inCoreGraphUtilities
;ToggleGraphVisibilityAction
inCoreInteractiveGraph
;LayersViewController
&BitMaskQuerry
inCoreLayersView
;LabelFontsOptionsPanel
&ConstellationLabelFonts
inCoreOpenGLDisplay
;ApplicationOptionsPanel
&DeveloperOptionsPanel
inCorePreferences
;ProxyOptionsPanel
inCoreSecuirty
,VisualAccess
inCoreUtilities
andVisualGraphUtilities
inCoreVisualGraph
. -
Update the default configuration to always show errors as a dialog message.
-
Updated the way exceptions are displayed to the user. Exceptions thrown in the
DefaultPluginEnvironment
are now presented to the user using the classNotifyDescriptor.Exception
. This presents an exception dialog when Constellation is ran from the executable. -
Updated public constructors in
ConversationProvider
andConversationContributionProvider
to protected to fix code smell that abstract classes should not have public constructors.
-
Added
PluginTags
class to hold all tags as constants forPluginInfo
. -
Changed the parameter for takeScreenshot in RecentGraphScreenshotUtilities from filename to filepath.
-
Added
isRequired
inPluginParameter
with a getter and a setter, which can be used to configure the required plugin parameters to mark as*required
in the swagger. -
Added a file chooser utility to core utilities. This provides a template for opening file choosers. It protects against common mistakes that may cause issues on different platforms.
-
Removed the verbose printing of garbage collection by default.
-
Removed the
keepAlive
method fromHttpsConnection
as it is not the method to enable HTTP keep-alive forHttpURLConnection
.keepAlive
is turned on by default and is controlled using thehttp.keepalive
VM argument. -
Renamed
au.gov.asd.tac.constellation.views.dataaccess.state.DataAccessPreferenceKeys
toau.gov.asd.tac.constellation.views.dataaccess.utilities.DataAccessPreferenceUtilities
-
Renamed
tableview2
package totableview
now that it is the primary table -
Removed
RecentFilesWelcomePage
and moved functionality betweenRecentFiles
andWelcomeViewPane
-
Renamed
ShortestPathsFollowDirectionAction
toDirectedShortestPathsAction
to align with the plugin it calls. -
Renamed constants in
DirectedShortestPathsPlugin
with VERTEX in name to have NODE instead. -
Updated
DataAccessPluginType
from an abstract class to an interface. -
Updated the access of some of the constants in
DirectedShortestPathsPlugin
to private since they weren't being used elsewhere.
-
Added a preference to choose between viewing the help documentation offline, or online.
-
Fixed
setRotationMatrix
inMatrix44d
as it was previously placing rotation values in the wrong value positions. -
Moved
DataAccessPlugin
,DataAccessPluginCoreType
,DataAccessPluginRegistry and
DataAccessPluginTypefrom
au.gov.asd.tac.constellation.views.dataaccessto
au.gov.asd.tac.constellation.views.dataaccess.plugins`. -
Removed JavaHelp and replaced it with the new help system.
-
Removed unused
localized
parameter from the signature of thelocate()
method inConstellationInstalledFileLocator
. -
Removed all the unused
*Action.java
classes fromau.gov.asd.tac.constellation.plugins.algorithms.sna
. -
Renamed
PreferenceUtilites
toPreferenceUtilities
to fix the typo. -
Removed unused
localized
parameter from the signature of thelocate()
method inConstellationInstalledFileLocator
. -
Updated Core Import Export summary text to provide more information. To achieve this, added
definitionName
parameter toImportDefinition
constructor and paneName parameter toRunPane
constructor. Updated displaySummaryAlertwithin
ImportDelimitedPlugin` class to take additional parameters. The combination of these changes allows a more meaningful summary dialog post delimited file import. -
Updated
processImport
inImportController
to avoid
method given the return typeList<File>
previously defined was not being used. -
Updated
setRotationMatrix
inMatrix44d
as it was previously placing rotation values in the wrong value positions.
-
Added
updateTagsFiltersAvailable
,updateSelectedTagsCombo
,updateTagsFilters
,updateAutoNotesDisplayed
andgetTagsFilters
toNotesViewPane
to control the tags filters used in the check combo box to update the Auto Notes filters. -
Removed
ArrangeByGroupPlugin
,ArrangeByGroupAction
,ArrangeByLayerPlugin
, andArrangeByLayerAction
as Arrange By Group and Arrange by Layer are superseded by Arrange by Node Attribute. -
Update
setFilters
inNotesViewPane
to include the Auto Notes filters. -
Update to
readObject
andwriteObject
inNotesViewStateIoProvider
to include Plugin Reporter tags in each Auto Note when they are written to the graph file.
-
Update to Quality Control category names and colors in
QualityControlEvent
to be easier to understand. -
Update to
openEdit
,updateNotesUI
,createNote
and the constructor inNotesViewPane
to include variables to hold what graph elements are selected and applied to the note. Also included a right click context menu option for user created notes. -
Added
updateSelectedElements
,addToSelectedElements
andremoveFromSelectedElements to
NotesViewPane` to allow for modification of the selected elements applied to user notes.
-
Changed
ImportTableColumn.validate
andimportexport/RunPane.validate
functions return type fromvoid
toboolean
. -
Removed
PreferenceUtilites.isGraphViewFrozen()
and related files as this feature has been superseded by the Pin nodes feature. Plugins no longer need a special check to see if the graph is frozen or pinned as this is covered by the arrangement framework.
-
Update
ProjectUpdater
to sort jars inproject.xml
consistently 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 withTextArea
elements respectively. -
Updated
CoreImportExportPlugins
more specificallyDelimited
andJDBC
packages. 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
ProjectUpdater
to sort jars inproject.xml
consistently between Windows and Linux.
- Added
FourTuple
to the Core Utilities module.
-
Added
hasLowLevelTag()
toPluginReport
classes 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.delimited
andau.gov.asd.tac.constellation.plugins.importexport.jdbc
into the base package to help remove duplicate classes. -
Converted the Tutorial Page into a What’s New page for displaying changes in Constellation.
-
Added
RecentGraphScreenshotUtilities
to 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
CoreGraphFramework
to support the layers view. -
Added
ConnectionGlyphStream
,ConnectionGlyphSteamContext
,NodeGlyphStream
,NodeGlyphStreamContext
andGlyphStreamContext
classes. -
Moved Layers View Shortcuts from
au.gov.asd.tac.constellation.views.layers.utilities
toau.gov.asd.tac.constellation.views.layers.shortcut
-
Removed
setCurrentContext()
,addGlyph()
andnewLine()
fromConnectionLabelBatcher
andNodeLabelBatcher
. -
Removed
LayersViewShortcuts
and added associated functionality toLayersViewPane
. -
Updated
renderTextAsLigatures()
,newLine()
, andaddGlyph()
fromGraphManager
andGraphManager.GlyphStream
to take additional parameter of type GlyphStreamContext -
Updated
ConnectionLabelBatcher
andNodeLabelBatcher
to no longer implementGraphManager.GlyphStream
. -
Updated
setCurrentConnection()
andnextParallelConnection()
inConnectionLabelBatcher
to take an extra parameter of typeConnectionGlyphStreamContext
. -
Updated
ConnectionLabelBatcher.bufferLabel()
to take extra parameters. -
Updated
NodeLabelBatcher.fillTopLabels()
to take different parameters. -
Updated
bufferTopLabel()
andbufferBottomLabel()
inNodeLabelBatcher
to take an extra parameter of typeNodeGlyphStream
. -
Updated
getTableData()
andexportToCsv()
inTableViewUtilities
to 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_SELECTED
andLAYER_MASK
attributes to be of typeLong
instead ofInteger
. -
Updated constructor for
LayersViewStateWriter
. -
Updated parameters for
setLayers()
andupdateLayers()
inLayersViewPane
.
-
Updated
DefaultPluginInteraction
andPluginParameters
to 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
ConstellationColor
which assist with getting inverse colors.
-
Added
AnalyticSchemaV4UpdateProvider
to upgradeSchemaVertexType
s that have changed. -
Added utility class
NotifyDisplayer
and static methodNotifyDisplayer#display
for use when displaying aNotifyDescriptor
message box. -
Fixed a bug exporting Glyph Textures to the wrong location if the folder path had a period.
-
Updated
QualityControlAutoVetter
to improve performance by using aSimpleReadPlugin
internally. -
Updated the Quality Control View so that it is multi-threaded and no longer runs on the EDT.
-
Removed the Attribute Calculator.
-
Added
LayerConcept
to group all of the layer mask and layer visibility attributes together. -
Moved the creation of
QUERY_NAME_PARAMETER
andDATETIME_RANGE_PARAMETER
withinCoreGlobalParameters
and can be accessed by direct reference; i.e.CoreGlobalParameters.QUERY_NAME_PARAMETERS
.
-
Added feedback for delimiter import.
-
Added basic support for MacOS.
-
Added
ProjectUpdater
which will manage adding dependencies to theproject.xml
file.-
The
ivy.xml
file is now located atCoreDependencies/src/ivy.xml
. -
The
ivysettings.xml
file 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
,IntHashSet
andTimer
from the Graph Framework module to the Utilities module. -
Removed deprecated methods from the graph API -
Graph#getWritableGraphOnEDT
,Graph#undo
,Graph#redo
andGraphWriteMethods#addAttribute
. -
Removed
GraphUtilites
from 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-runner
docker image to11.3.2
to includepython3
so that automation can be done via thebuild-zip.sh
script 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.sh
to reuse common utility methods. This can be used by scripts related to Travis. -
Added Layers view to the Experimental views tab.
-
Added
RenderablePriority
enum toGLRenderable
to house the constants that sat in that class. -
Added
VisualPriority
enum toVisualOperation
to house the constants that sat in that class. -
Added
DoubleAttributeDescription
,DoubleAttributeInteraction
,DoubleEditorFactory
andDoubleIOProvider
to support high precision numbers in attributes. -
Added
DoubleObjectAttributeDescription
,DoubleObjectAttributeInteraction
,DoubleObjectEditorFactory
andDoubleObjectIOProvider
as a nullable alternative to the double attribute type. -
Added
ShortAttributeDescription
,ShortAttributeInteraction
,ShortEditorFactory
andShortIOProvider
to support numbers with lower memory usage in attributes. -
Added
ShortObjectAttributeDescription
,ShortObjectAttributeInteraction
,ShortObjectEditorFactory
andShortObjectIOProvider
as a nullable alternative to the short attribute type. -
Added
ByteAttributeDescription
,ByteAttributeInteraction
,ByteEditorFactory
andByteIOProvider
to support numbers with lower memory usage in attributes. -
Added
ByteObjectAttributeDescription
,ByteObjectAttributeInteraction
,ByteObjectEditorFactory
andByteObjectIOProvider
as 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()and
ordering()from
AttributeDescription` and any implementing classes. -
Removed
datetime
parameter frommakeDateTimesEven()
inZonedDateTimeAxis
as this was not needed. -
Removed
boxBlurF()
andboxBlurFF()
fromGaussianBlur
as their implementation was simple enough to be added straight to where they called from. -
Renamed
getTags()
inGraphReport
togetUTags()
to match field the function was getting. -
Renamed
getChildReports()
inPluginReport
togetUChildReports()
to match field the function was getting. -
Renamed
equal()
inNativeAttributeType
toequalValue()
to avoid confusion withObject.equals()
. -
Renamed
PasswordKey
toPasswordSecret
and addedgetIV()
to the class. -
Renamed
DefaultPasswordKey
toDefaultPasswordSecret
to mirror above change. -
Updated the container used to build Constellation on Travis to
11.3.1
which 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.xml
and.travis\build-zip.sh
with support for MacOSX and a temporary hardcoding of version numbers. -
Updated
deobfuscate()
inPasswordDeobfuscator
to now return a String instead of a CharSequence.
-
Added
AnalyticSchemaPluginRegistry
to 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
AbstractTopComponent
and other related classes. -
Added
VisualGraphPluginRegistry
to Core Visual Graph -
Fixed a logic bug with
GraphRendererDropTarget
preventing graph droppers from every running. -
Moved
AnalyticIconProvider
toau.gov.asd.tac.constellation.utilities.icon
. -
Moved a number of plugins out of Core Functionality into other modules to better reflect their purpose.
-
Moved
AttributeSelectionPanel
to Core Graph Utilities module. -
Moved
BBoxf
andBBoxd
to the Core Visual Graph module. -
Moved
CharacterIconProvider
toau.gov.asd.tac.constellation.utilities.icon
. -
Moved
ConstellationColor
toau.gov.asd.tac.constellation.utilities.color
. -
Moved
ConstellationIcon
toau.gov.asd.tac.constellation.utilities.icon
. -
Moved
ConstellationViewsConcept
toau.gov.asd.tac.constellation.graph.schema.concept.SchemaConcept
. -
Moved
DragAction
to Core Visual Graph module. -
Moved
SchemaAttribute
toau.gov.asd.tac.constellation.graph.schema.attribute
. -
Moved
SchemaConcept
toau.gov.asd.tac.constellation.graph.schema.concept
. -
Moved
SchemaTransactionType
toau.gov.asd.tac.constellation.graph.schema.type
. -
Moved
SchemaVertexType
toau.gov.asd.tac.constellation.graph.schema.type
. -
Moved
SimpleGraphOpener
andSimpleGraphTopComponent
to the Core Graph Node module. -
Moved
UserInterfaceIconProvider
toau.gov.asd.tac.constellation.utilities.icon
. -
Moved
VisualConcept
to the Core Visual Schema module located atau.gov.asd.tac.constellation.graph.schema.visual.concept
. -
Moved
VisualGraphOpener
andVisualGraphTopComponent
to the Core Interactive Graph module. -
Moved
VisualManager
toau.gov.asd.tac.constellation.utilities.visual
. -
Removed the
build-zip
stage 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
Decorators
toVertexDecorators
and moved to Core Visual Schema module. -
Renamed
InteractivePluginRegsitry
toInteractiveGraphPluginRegistry
. -
Renamed
IoProgressHandle
toHandleIoProgress
. -
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.MD
instructions 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_KEY
persists 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
NodeGraphLabelsEditorFactory
toVertexGraphLabelsEditorFactory
. -
Renamed
SupporPackageAction
toSupportPackageAction
to fix a spelling typo.
-
Added
LabelFontsOptionsPanel
to allow setting of fonts rendered on the graph through the UI. -
Added
ConstellationLabelFonts
interface to allow programmatic specification of default label fonts.
-
Added method
suppressEvent(boolean, List<>)
toPluginParameter
which allow setting of properties/options without firing change events. -
Moved
CoreUtilities
in the Core Functionality module toPreferenceUtilites
in the Core Utilities module. -
Renamed
ArcgisMap
Provider toEsriMapProvider
. -
Updated
EsriMapProvider
to support both regular tile-based services, as well as image export. This can be specified by overriding the newgetMapServerType
method.
- Remove deprecated jai libraries.
-
Added
DevOpsNotificationPlugin
to Core Functionality to track messages from plugins for developers and administrators attention. This is only going to be useful if you have setup aConstellationLogger
that 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
BrandingUtilities
to Core Utilities to maintain the application name “Constellation”.- You can set the command line argument
constellation.environment
with 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
GitHub
url used by Help -> Submit a Ticket. -
Removed several unused dependencies, including JOGL, JTS,
OpenCSV,
Trove4j,JScience,
andXML-APIs
. -
Renamed
ConstellationLogger.ApplicationStart
toConstellationLogger.ApplicationStarted,
ConstellationLogger.ApplicationStop
toConstellationLogger.ApplicationStopped,
ConstellationLogger.PluginStart
toConstellationLogger.PluginStarted
andConstellationLogger.PluginStop
toConstellationLogger.PluginStopped
. -
Updated several dependencies to the latest versions, including Geotools, Jetty, Apache Commons, Jackson,
RSyntaxArea,
Google Guava, Apache POI, EJML, Processing, Jython, andSwingX
. -
Updated
ConstellationLogger
with new methodsviewStarted,
viewStopped
andviewInfo
to support logging of Views. -
Updated
DefaultConstellationLogger
with a VERBOSE flag to switch between no-op and logging to standard out. -
Updated
AbstractTopComponent
to log when the view is opened, closed, showing, hidden, activated and deactivated.
-
Added a
Content.URL
attribute to represent a URL link in theContentConcept
. -
Fixed a lot of compile warnings related to Java generics and
PluginParameters
usage. -
Removed
ConstellationSecurityProvider.getPriority
as it duplicated functionality of (and conflicted with) the lookup system. -
Removed
OldStringUtilities
and merged the required methods toStringUtilities
.
-
Fixed a bug with
SchemaVertexTypeUtilities
andSchemaTransactionTypeUtilities
not respecting overridden types. -
Removed MODIFIED icon from
UserInterfaceIconProvider
. -
Removed STARS and CONSTELLATION icons from
AnalyticIconProvider
. -
Updated CHART icon in
AnalyticIconProvider
. -
Updated
RestClient
in the Core Utilities module with a minor refactor and support for posting bytes. -
Updated
SchemaFactory
withgetIconSymbol
andgetIconColor
methods 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,
andNodeGraphLabelsIOProvider
toVertexGraphLabelsAttributeDescription,
VertexGraphLabelsAttributeInteraction,
andVertexGraphLabelsIOProvider
for 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
updateParameters
method toau.gov.asd.tac.constellation.views.histogram.formats.BinFormatter
for Histogram ViewBinFormatters
to use. -
Fixed how
ConstellationIcon
was building and caching icons and images resulting in a major performance improvement and reduced memory usage. -
Updated
Ctrl+Backspace
to 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
DataAccessPreQueryValidation
to check before running Data Access View queries.
-
Added Enrichment to the
DataAccessPluginCoreType
class. -
Moved
au.gov.asd.tac.constellation.analyticview
toau.gov.asd.tac.constellation.views.analyticview
. -
Moved
au.gov.asd.tac.constellation.attributeeditor
toau.gov.asd.tac.constellation.views.attributeeditor
. -
Moved
au.gov.asd.tac.constellation.conversationview
toau.gov.asd.tac.constellation.views.conversationview
. -
Moved
au.gov.asd.tac.constellation.core
toau.gov.asd.tac.constellation.functionality
. -
Moved
au.gov.asd.tac.constellation.core.dependencies
toau.gov.asd.tac.constellation.dependencies
. -
Moved
au.gov.asd.tac.constellation.dataaccess
toau.gov.asd.tac.constellation.views.dataaccess
. -
Moved
au.gov.asd.tac.constellation.display
toau.gov.asd.tac.constellation.visual.opengl
. -
Moved
au.gov.asd.tac.constellation.find
toau.gov.asd.tac.constellation.views.find
. -
Moved
au.gov.asd.tac.constellation.histogram
toau.gov.asd.tac.constellation.views.histogram
. -
Moved
au.gov.asd.tac.constellation.interactivegraph
toau.gov.asd.tac.constellation.graph.interaction
. -
Moved
au.gov.asd.tac.constellation.mapview
toau.gov.asd.tac.constellation.views.mapview
. -
Moved
au.gov.asd.tac.constellation.qualitycontrol
toau.gov.asd.tac.constellation.views.qualitycontrol
. -
Moved
au.gov.asd.tac.constellation.scatterplot
toau.gov.asd.tac.constellation.views.scatterplot
. -
Moved
au.gov.asd.tac.constellation.schemaview
toau.gov.asd.tac.constellation.views.schemaview
. -
Moved
au.gov.asd.tac.constellation.scripting
toau.gov.asd.tac.constellation.views.scripting
. -
Moved
au.gov.asd.tac.constellation.tableview
toau.gov.asd.tac.constellation.views.tableview
. -
Moved
au.gov.asd.tac.constellation.timeline
toau.gov.asd.tac.constellation.views.timeline
. -
Moved
au.gov.asd.tac.constellation.visualgraph
toau.gov.asd.tac.constellation.graph.visual
. -
Moved
au.gov.asd.tac.constellation.visualsupport
toau.gov.asd.tac.constellation.visual
. -
Moved
au.gov.asd.tac.constellation.webview
toau.gov.asd.tac.constellation.views.webview
. -
Moved private classes that implemented
ParameterValue
to public classes to resolve the problem of not being able to set values from a script. These includeAnalyticAggregatorParameterValue,
SpatialReferenceParameterValue,
ElementTypeParameterValue
andGraphAttributeParameterValue
. -
Renamed
Plugin.getOverriddenPlugin
toPlugin.getOverriddenPlugins
in the Core Plugin Framework module which is a breaking change. -
Updated
GraphWriteMethods
to include a version ofaddTransaction
that accepts a transaction ID. -
Updated
PermanentMergeAction
to 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-Time
Range Global Parameter in Data Access View. -
Added validation check to numeric parameters in plugins accessed from Data Access View.
-
Added plugin
CopyCustomMarkersToGraph
to generate nodes on your graph from custom markers in the Map View. -
Fixed some performance issues in the conversation view.
-
Updated
MarkerCache
with functions to build and style markers from the graph, allowing this functionality to be used outside of the Map View. -
Updated
MarkerUtilities
withgenerateBoundingBox
method. -
Updated
ConstellationAbstractMarker
withgetRadius
method.
-
Moved the
getOverriddenPlugin
method from theDataAccessPlugin
class 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 fromPluginExecutor
could be overridden. -
Removed
MultiScoreResult
fromt he analytic view - all score based analytics now useScoreResult
and support multiple scores by default. -
Renamed
IconProvider
toConstellationIconProvider
-
Renamed
GlobalCoreParameters
toCoreGlobalParameters
-
Renamed all plugin parameter id references from
\*_PARAMETER
to\*_PARAMETER_ID
-
Added the
overridenType
property toSchemaElementType,
and removed it fromSchemaVertexType
andSchemaTransactionType
. -
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.isSubTypeOf
to take overridden types into account.
-
Added a new plugin to open a url in a browser called
OpenInBrowserPlugin
that is available in Core Functionality. -
Added a new plugin to send to an email client called
SendToEmailClientPlugin
that is available in Core Functionality. -
Renamed
SchemaAttribute.getFormatContext
toSchemaAttribute.getFormat
. -
Updated
PlaceholderUtilities
with 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
FPSRenderable
class. -
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
TemporalFormattingUtilties
to the Core Utilities module. -
Added an
IpAddressUtilities
class to the Core Utilities module. -
Fixed a performance issue with
JDropDownMenu
in the Core Utilities module moving theactionPerformed
work into its own thread. -
Fixed the spelling of public constants and comments that incorrectly spelt separator in various modules.
-
Renamed
AnalyticConcept.VertexType.HOSTNAME
toAnalyticConcept.VertexType.HOST_NAME
. -
Renamed
GeospatialUtilities
to Distance and movedHaversineUtilities
toDistance.Haversine
. -
Renamed
ShapeUtilities
to Shape,MgrsUtilities
to Mgrs andGeohashUtilities
to 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
CreateVertexTypePlugin
andCreateTransactionTypePlugin
to allow REST clients to create custom types. -
Fixed
PluginParameters
to useColorValue
instead 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
ColorValue
toConstellationColor
to make it clearer what it should be used for and to avoid conflicts with external classes. -
Renamed
TemporalFormatting.DATE_TIME_FORMATTER
toTemporalFormatting.UTC_DATE_TIME_FORMATTER
andTemporalFormatting.DATE_TIME_WITH_MILLISECONDS_FORMATTER
toTemporalFormatting.UTC_DATE_TIME_WITH_MILLISECONDS_FORMATTER
in the Core Utilities module. TheseDateTimeFormatter
constants are now build using theDateTimeFormatterBuilder
ensuring 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
FilterPlugin
to the Core Data Access View module. -
Added
PasswordParameterType
into the Core Plugin Framework module. This change has also removed the capability ofStringParameterType
to support passwords. -
Added strict
DateTimeFormatter's
based onDateTimeFormatter.ISO_INSTANT
to theTemporalFormatting
class 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.executePluginNow
andPluginGraph.updateGraph
. -
Renamed Plugin.id to
Plugin.ID
-
Updated JOGL to 2.3.2 and Processing to 3.3.6 to resolve
OpenGL
issues 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
PasswordKey
in the Core Security module.
-
Added New Nebula into th
Experimental->Tools
menu -
Added an FPS counter
OpenGL
renderer that can be enabled from the Debug preference tab. -
Added new
MatrixUtilities
class 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_VIEW
toApplicationPreferenceKeys.FREEZE_GRAPH_VIEW_DEFAULT
in the Core Preferences module. -
Renamed
SharedDrawable.getIconShader
toSharedDrawable.getVertexIconShader
to differentiate it fromSharedDrawable.getSimpleIconShader
. -
Updated Core Web Server code so the workings out of the web servlets into separate
\*Impl.java
classes. This makes the workings transport independent, in preparation for adding anon-HTTP
transport. 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
\*Preference
panels to follow and more of an MVC pattern.
-
Added
FactColorTranslator
andFactToSizeTranslator
to the Core Analytics View module. -
Added
FirstAnalyticPlugin
to the Core Analytics View module. -
Added
FirstFactAggregator
in the Core Analytics View module. -
Added a new attribute called
isLabel
toSchemaAttribute
in the Core Graph Module with the intention of allowing the schema to decide if the attribute should appear as aGraphLabel
on a vertex or transaction. -
Added a new
isLabel
andisDecorator
attributes toSchemaAttribute
with the intention of allowing the schema to decide if the attribute should appear as aGraphLabel
or Decorator on a vertex or transaction. -
Added equivalent method to
SchemaAttribute
allowing you to compare with an Attribute object. -
Renamed
ClusterAggregator
toFirstClusterAggregator
in the Core Analytics View module. -
Renamed
MultiScoreResult.getUniqueNames
toMultiScoreResult.getUniqueScoreNames
in the Core Analytics View module. -
Renamed
MultiScoringAnalyticPlugin
toMultiScoreAnalyticPlugin
in the Core Analytics View module. -
Renamed
PluginRegistry.getPluginNames
toPluginRegistry.getPluginClassNames
. -
Renamed
ScoringAnalyticPlugin
toScoreAnalyticPlugin
in the Core Analytics View module. -
Renamed
getLabel
togetName
andgetType
toGetAttributeType
for the Attribute class. -
Renamed the get_pos(g) method to get_nx_pos(g) in the constellation_client provided with the REST API.
-
SchemaFactory.ensureAttribute
now takes a boolean specifying whether the attribute should be created even if it is not registered to that schema. Similarly,SchemaAttribute.ensure
provides this option.
-
Fixed memory leaks with the
ListeningTopComponent
andTimelineTopComponent
. -
Renamed
COLOR_BLAZE
in theCorePluginRegistry
toADD_CUSTOM_BLAZE
. -
Updated entries within the Tools and Experimental menu.
-
Updated
ListeningTopComponent
to allow for the update and removal of change handlers.-
addAttributeChangeHandler
was renamed toaddAttributeValueChangeHandler
. -
addGlobalChangeHandler,
addStructureChangeHandler,
addAttributeCountChangeHandler
andaddAttributeValueChangeHandler
now return the Monitor objects associated with that handler. -
updateGlobalChangeHandler,
updateStructureChangeHandler,
updateAttributeCountChangeHandler
andupdateAttributeValueChangeHandler
have been added to allow modification to the behaviour of a handler. -
removeGlobalChangeHandler,
removeStructureChangeHandler,
removeAttributeCountChangeHandler
andremoveAttributeValueChangeHandler
have been added to allow removal of a handler. -
removeIgnoredEvent
has been added to allow removal of an ignored event.
-
-
Added forward slash (/) to the list of special characters to escape in
LuceneUtilities
in the Core Utilities module. -
Removed extra
FindStatePlugin
calls from theColorCriteriaPanel
which will help reduce unnecessary write locks on the graph and reduce overall threads being forked.
-
Added
MultiplexityAnalytic
andWeightAnalytic
plugins and analytics. -
Added
SnaConcept.Transaction.MULTIPLEXITY
to the Core Algorithms module. -
Renamed
SnaConcept.GRAPH.GRAPH_DENSITY
toSnaConcept.GRAPH.DENSITY
in the Core Algorithms module.
-
Added
GraphNodePluginRegistry
in the Core Graph Node module. -
Added
JSingleChoiceComboBoxMenu
as a single choice alternative toJMultiChoiceComboBoxMenu
. -
Added
LuceneUtilities
to the Core Utilities module. -
Added
SeparatorConstants
to the Core Utilities module. -
Added more attributes to
ContentConcept
in the Core Analytic Schema. -
Fixed a bug where the singleton type was not being used when loading a graph.
-
Fixed a bug with the
WorkflowQueryPlugin
which was removing the graph attributes after a batched run completed. -
Moved
NewDefaultSchemaGraphAction
from the Core Simple Schema module to the Core Graph Node module. -
Moved
NewExperimentalSchemaGraphAction
from the Core Simple Schema module to the Core Graph Node module. -
Moved
NewSchemaGraphAction
from the Core Simple Schema module to the Core Graph Node module. -
Moved
au.gov.asd.tac.constellation.algorithms.geospatial.Geohash
in the Core Utilities module toau.gov.asd.tac.constellation.utilities.geospatial.GeohashUtilities
-
Moved
au.gov.asd.tac.constellation.algorithms.geospatial.Haversine
in the Core Utilities module toau.gov.asd.tac.constellation.utilities.geospatial.HaversineUtilities
-
Moved
au.gov.asd.tac.constellation.core.opener.SimpleGraphTopComponent
toau.gov.asd.tac.constellation.core.visual.SimpleGraphTopComponent
. -
Moved
au.gov.asd.tac.constellation.core.visual.SaveAsAction
in the Core Functionality module toau.gov.asd.tac.constellation.core.save.SaveAsAction
. -
Moved
au.gov.asd.tac.constellation.graph.file.GraphOpener
in the Core Graph File toau.gov.asd.tac.constellation.graph.file.opener.GraphOpener
. -
Moved
au.gov.asd.tac.constellation.graph.file.autosave.AutosaveUtilities
in the Core Graph File module toau.gov.asd.tac.constellation.graph.file.save.AutosaveUtilities
. -
Moved
au.gov.asd.tac.constellation.schema.simpleschema.plugins.LoadTemplatePlugin
from the Core Simple Schema toau.gov.asd.tac.constellation.graph.node.templates.LoadTemplatePlugin
in the Core Graph Node module. -
Moved
au.gov.asd.tac.constellation.schema.simpleschema.plugins.ManageTemplatesAction
from the Core Simple Schema toau.gov.asd.tac.constellation.graph.node.templates.ManageTemplatesAction
in the Core Graph Node module. -
Moved
au.gov.asd.tac.constellation.schema.simpleschema.plugins.ManageTemplatesPlugin
from the Core Simple Schema toau.gov.asd.tac.constellation.graph.node.templates.ManageTemplatesPlugin
in the Core Graph Node module. -
Moved
au.gov.asd.tac.constellation.schema.simpleschema.plugins.SaveTemplateAction
from the Core Simple Schema toau.gov.asd.tac.constellation.graph.node.templates.SaveTemplateAction
in the Core Graph Node module. -
Moved
au.gov.asd.tac.constellation.schema.simpleschema.plugins.SaveTemplatePlugin
from the Core Simple Schema toau.gov.asd.tac.constellation.graph.node.templates.SaveTemplatePlugin
in the Core Graph Node module. -
Moved the base package in Core Simple Schema to
au.gov.asd.tac.constellation.schema.simpleschema
. -
Removed
GraphUtilitiesExtra
in the Core Graph Utilities module. TheGraphUtilitiesExtra.copyGraphToGraph
method toCopyGraphUtilities
. -
Removed the experimental
WordGraphPlugin
in the Core Arrangements module. -
Renamed
ExtractFromContent
toExtractFromContentPlugin
in Core Data Access View. -
Renamed
JMultiChoiceDropDownMenu
toJMultiChoiceComboBoxMenu
. -
Renamed
MergeNodes
toMergeNodesPlugin
in Core Data Access View. -
Renamed
MergeTransactions
toMergeTransactionsPlugin
in Core Data Access View. -
Renamed
PluginParameter.setLabel()
toPluginParameter.setName()
to be more consistent with the remainingAPI's
. -
Renamed
RemoveNodes
toRemoveNodesPlugin
in Core Data Access View. -
Renamed
SchemaAttributeUtilities
in theCoreGraphUtilities
toAttributeUtilities
. -
Renamed
SelectAll
toSelectAllPlugin
in Core Data Access View. -
Renamed
SelectTopN
toSelectTopNPlugin
in Core Data Access View. -
Renamed Utilities to
GraphObjectUtilities
in 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
SimpleSchemaFactory
toVisualSchemaFactory
. -
Renamed
SchemaPluginRegistry
toVisualSchemaPluginRegistry
. -
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
ColorValue
so 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
BuildIconGraphAction
which allows you to construct a graph showcasing all the icons loaded in memory. -
Added
FILE_NAME
toContentConcept
in the Core Analytic Schema module. -
Added
ObfuscatedPassword
and 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.ClusteringConcept
toau.gov.asd.tac.constellation.algorithms.clustering.ClusteringConcept
. -
Moved
au.gov.asd.tac.constellation.schema.analyticschema.concept.SnaConcept
toau.gov.asd.tac.constellation.algorithms.sna.SnaConcept
in the Core Alogorithms module. -
Moved some centrality plugins to
au.gov.asd.tac.constellation.algorithms.sna.centrality
in th Core Alogorithms module. -
Moved the social network analysis plugins into a new parent package
au.gov.asd.tac.constellation.algorithms.sna
in the Core Alogorithms module. -
Removed the Core Graph IO, Charts, Networkx, Remote and Integration Testing modules.
-
Renamed
HierarchicalAttributeDescription
in 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
NetBeans
8.2. -
Updated the
ControlsFx
library to version 8.40.13 so that it is compatible Java 8u144. -
Updated to
NetBeans
8.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
ConstellationApiServlet
to abstract away the idea of checking a secret for each api call. -
Added
TypeServlet
to allow operations related to types in the Constellation REST API. -
Added
SchemaVertexTypeUtilities.getTypeOrBuildNew()
andSchemaTransactionTypeUtilities.getTypeOrBuildNew()
to the Core Graph module. -
Added an
ImageConcept
to 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
VertexTypeIOProvider
andTransactionTypeIOProvider
. -
Renamed all
*Popup
classes that implementContextMenuProvider
to end in*ContextMenu
. -
Removed
AnalyticVertexType
from the Core Analytic Schema module. -
Removed
ApplicationPreferenceKeys.SCRIPTING_LANGUAGE
andApplicationPreferenceKeys.SCRIPTING_LANGUAGE_DEFAULT
from the Core Preferences module as we have made a design choice to use Python as our scripting language. -
Removed the
topLevelType
attribute fromSchemaElementType
as it can be calculated. -
Updated
AnalyticConcept
to build types usingSchemaVertexType
andSchemaTransactionType
. -
Updated
SchemaElementType
by removing thesetIncomplete()
method which means that Types are now immutable. -
Updated
SchemaVertexType
andSchemaTransactionType
to be final. Any type object has to be either one of these which simplifies types. -
Updated the Content
ContentConcept
in the Core Analytic Schema module with more attributes. -
Updated the properties map in
SchemaElementType
to be a Map of String to String so that serialisation is simplified.
-
Added ability to make
AnalyticPlugin
classes hidden from the Analytic View GUI using theisVisible
method. -
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_NEIGHBOUR
toCorePluginRegistry.SELECT_PENDANTS
in Core Functionality module. -
Renamed
FxStateIO
toFxStateIOProvider
in the Core Table View module. -
Renamed
GeoUtilities
toGeospatialUtilities
. -
Renamed
ImportExportRegistry
in the Core Import Export module toImportExportPluginRegistry
. -
Renamed
ShortestPathsFollowDirectionPlugin
toDirectedShortestPathsPlugin
. -
Renamed
TableStateIO
toTableStateIOProvider
in the Core Table View module. -
Renamed
TableStateTransactionIO
toTableStateTransactionIOProvider
in the Core Table View module. -
Renamed
TableStateVertexIO
toTableStateVertexIOProvider
in the Core Table View module. -
Renamed package
au.gov.asd.constellation.utilities.geo
toau.gov.asd.constellation.utilities.geospatial
. -
Renamed the
ChangeSelection
plugin in the Data Access View module toSelectAll
. -
Updated the Map View to allow for custom overlays by extending the
MapOverlay
class. The current info and tool overlays have been converted to this framework. -
Updated the
SchemaAttributeUtilities
class so that any schema attribute lookup requires aGraphElementType
to 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
*AttributeUpdateProvider
classes in ‘au.gov.asd.tac.constellation.graph.io.versioning’ to ‘au.gov.asd.tac.constellation.graph.io.providers.compatability’. -
Removed the
@Deprecated
tag 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
AttrListAttributeDesciption
toAttrListAttributeDesciptionV0
in the Core Graph module. -
Renamed
AttrListIOProvider
toAttrListIOProviderV0
in the Core Graph IO module. -
Renamed
GraphLabel
toGraphLabelV0
in the Core Visual Graph module. -
Renamed
GraphLabelsAndDecorators
toGraphLabelsAndDecoratorsV0
in the Core Visual Graph module. -
Renamed
GraphLabelsAndDecoratorsIOProvider
toGraphLabelsAndDecoratorsIOProviderV0
in the Core Visual Graph module. -
Renamed
LabelsAttributeDescription
toLabelsAttributeDescriptionV0
in 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
ScoringAnalyticPlugin
andMultiScoringAnalyticPlugin
to 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
SelectTopN
to the Data Access View module to select the top n nodes based on the transaction count and type. -
Added
TextPluginInteraction
in the Core Plugin Framework module that will be useful in unit tests. -
Added a
MultiScoreResult
result 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*UpdateProvider
classes that caused the wrong icons to be set. -
Moved the
DEFAULT_FONT
constant from theFontUtilities
class in Core Visual Support toApplicationPreferenceKeys
in Core Preferences. -
Removed
DebugUtilities
from the Core Preferences module as the convention is to use differentjava.util.logging.Logger
levels. -
Removed
StringBuilderOutputStream
due to its implementation being fundamentally wrong. UsingByteArrayOutputStream
andtoString(StandardCharsets.UTF_8.name())
is a better approach. -
Removed the representation() method in
SchemaElementType
and replaced it with thegetHierarchy
method which is now called by thetoString()
method inSchemaElementType
.- When setting types in
RecordStore
objects, 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 theMultiChoiceParameterType
class. -
Renamed
'getChoices'
(and similarly named methods) to'getOptions'
in theSingleChoiceParameterType
class. -
Renamed
GenericTopComponent
toAbstractTopComponent
in 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.UNIQUEID
attribute toVisualConcept.VertexAttribute.IDENTIFIER
. -
Updated
XmlUtilities
to 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
DataAccessPane
to 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
resolveVertex
andresolveTransaction
methods in theAnalyticSchema
class to allow for hierarchical names specified by multiple types separated by the “.” character. -
Updated the
SimpleSchemaV*UpdateProvider
andAnalyticSchemaV*UpdateProvider
classes 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*UpdateProvider
handle’s the label attribute whilst theAnalyticSchema*UpdateProvider
handles updates to the Type attribute.-
The update provider no longer runs a Complete With Schema
-
The responsibility of the
UpdateProviders
is 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.dmsToDd
to convert aDegrees-Minute-Seconds
formatted geospatial coordinate to Decimal Degrees. -
Added
PrimaryKeyUtilities
to the Core Graph Utilities module. -
Added
SplitNodesPlugin
in the Core Data Access module. -
Added a compare graph feature available from the Tools menu.
-
Added a new module called Core Integration Testing.
-
Moved
GeoUtilities
from the Core Algorithms module to Core Utilities. -
Moved Tuple to the Core Utilities module.
-
Removed the Core Charts module.
-
Added
DownloadImageUtilities
to the Core Utilities module. -
Added
HttpsUtilities.readErrorStreamAndThrow
in the Core Utilities module to make reporting errors from services consistent. -
Added
IntegerObjectAttributeInteraction,
LongAttributeInteraction
andLongObjectAttributeInteraction
classes so that the corresponding attribute types are properly represented in the user interface. -
Added
LongObjectAttributeDescription
class 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
ConsolidatedDialog
that 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
AbstractCalculatorUtility
toAbstractCalculatorUtilities
in the Core Scripting module. -
Renamed
ClipboardUtility
toClipboardUtilities
in the Core Functionality module. -
Renamed
ConsolidatedMultipleMatchesDialog
toConsolidatedDialog
in the Core Functionality module. -
Renamed
DebugUtility
toDebugUtilities
in the Core Preferences module. -
Renamed
GraphUtil
toGraphUtilities
in the Core Arrangements module. -
Renamed
SimpleStringUtilities
in the Core Utilities module toStringUtilities
and added new functionality. -
Renamed
StringUtilities
in the Core Utilities module toOldStringUtilities
and deprecated it. -
Updated
HttpsConnection
in 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
ArrangementRegistry
toArrangementPluginRegistry
for consistency with other plugin registry classes. -
Added ability to set custom context menu items on the
SeletableLabel
class used in the Conversation View. -
Moved resources for rendering pill buttons in
JavaFX
from the conversation view module to the visual support module so they can be used anywhere in the application. -
Renamed
AlgorithmsRegistry
toAlgorithmPluginRegistry
for consistency with other plugin registry classes. -
Renamed references to plugins which extend
NetworkxCentralityPlugin,
NetworkxImportancePlugin
andNetworkxSimilarityPlugin
in theAlgorithmPluginRegistry
. They are all now appended with'_NX'
to differentiate them from java implementations of the same algorithms.
-
Added
CreateCompositesFromDominantNodesPlugin
. -
Added
SetDrawFlagPlugin
. -
Added
SetVibilityAboveThresholdPlugin
which can be used to toggle the visiblity status instead. -
Added
VisibleAboveThresholdPlugin
which 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 methodsaveGraphToTemporaryDirectory
can be used to save graphs in unit tests. -
Added
au.gov.asd.tac.constellation.utilities.io.StringBuilderOutputStream
as a alternative tojava.io.StringWriter
which usesStringBuilder
instead ofStringBuffer
as the underlying implementation. UsingStringBuilderOutputStream
in 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.SubgraphUtilties
toau.gov.asd.tac.constellation.graph.utilities.SubgraphUtilties
-
Moved the
DeleteAllPlugin
andDeleteSelectionPlugin
toau.gov.asd.tac.constellation.core.delete
. -
Moved the Dim plugins to
au.gov.asd.tac.constellation.core.dim
in the Core Functionality module. -
Moved the
PermanentMergePlugin
toau.gov.asd.tac.constellation.core.merge
in the Core Functionality module. -
Removed
ArrangeInComponentGridPlugin
which was a duplicate ofArrangeComponentsInGridPlugin
-
Removed
ToggleVisibleAboveThresholdPlugin
. -
Removed undo() and redo() methods from Graph.
GraphCommits
are tied toUndoableEdit
objects, 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 theUndoableEdit
objects and has some way of knowing when a given edit has completed its undo/redo method. -
Renamed
CorePluginRegistry.COPY_SELECTED_ELEMENTS
toCorePluginRegistry.COPY_TO_NEW_GRAPH
. -
Renamed
HLGraph
in the Core Graph module toSGraph
. -
Renamed
HLReadableGraph
in the Core Graph module toSReadableGraph
. -
Renamed
HLWritableGraph
in 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
SchemaUpdateProvider
and anAttributeUpdateProvider
will 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 theVisualDefault
class, these x,y,z defaults need to be respected when interacting with theCONSTELLATION's
visualisation 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
GraphVisualAccess
explicitly checks for null values of the Camera attribute on the graph and returnsVisualDefaults.DEFAULT_CAMERA
instead. 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's
visualistion 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
VisualManager
handles all communication between these components. -
VisualProcessor
is an abstract base class for any component that provides a visualisation of the graph.-
GLVisualProcessor
is 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/Matrix
utility 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
.
-
-
VisualAccess
is an interface thatVisualProcessors
must now use to access the graph. They are not allowed to have reference to the graph directly.-
GraphVisualAccess
is the default implementation for CONSTELLATION graphs. -
Theoretically
VisualProcessors
could visualise other ‘graph-like’ data structures if they implementVisualAccess
-
-
InteractionEventHandler
is an interface for responding to mouse and keyboard gestures (as generated by AWT) on a CONSTELLATION graph.-
DefaultInteractionEventHandler
is the default implementation in CONSTELLATION. It contains code that performs a similar function to the event handling code that used to be inGraphRenderer
. -
VisualAnnotator
andVisualInteraction
are two interfaces thatInteractionEventHandler
depends on in order to help it translate gestures into graph actions/visualisations. -
InteractiveGLVisualProcessor
extendsGLVisualProcessor
to satisfy theVisualAnnotator
andVisualInteraction
interfaces so that theDefaultInteractionEventHandler
can respond to gestures on CONSTELLATION graphs rendered inOpenGL
.
-
-
Updates to a
VisualProcessor
from something like the event handler arrive in the form ofVisualChange
objects that are sent to aVisualManager
(wrapped inVisualOperations)
.-
The
VisualChange/VisualOperation
framework’s purpose is to allow components to update the visualisation of a graph efficiently and without having to commit their changes first. -
The previous
GraphRenderer
achieved 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).AAing
may 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
JavaFX
to use up all the memory by removingPluginReporterPane's
after 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
JMultiChoiceComboBox
class to the Core Utilities module. This class provides a Swing alternative toJavaFX's
MultiChoiceComboBox
. -
Added
MarkerCache
class 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
GraphRecordStore
by setting theDELETE_KEY
key. -
Fixed the bug in
ValueInputPanes
which 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
RecentValues
updating 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
FreezeGraphViewPreferencePlugin
because 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
LogAction
to show the CONSTELLATION logs to the user. -
Added a “Support Package” menu item under help which zips the CONSTELLATION logs.
-
Added a
DataAccessState
object 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
RecordStoreServlet
to return JSON suitable forPandas.DataFrame.from_items()
. TheDataFrame
JSON parser is much faster. -
Added missing type qualifiers in
GraphRecordStoreUtilities
methods. -
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 notGraphChangeListeners
will be notified.- The use case for this is performing a series of quick updates on
the graph that new
ReadableGraphs
need 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's
lifecycle.
- The use case for this is performing a series of quick updates on
the graph that new
-
Renamed
ParameterIO
toParameterIOUtilities
. -
Updated
ConstellationDialog
to dispose when thehideDialog
is called which should free up resources.
-
Added a new Map View based on the third party libraries
'Unfolding
Maps’ and'Processing'
.-
Maps are rendered using
OpenGL
through 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
MapProvider
class. -
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
GeoJSON
into the'Geo.Shape'
attribute. You can buildGeoJSON
for'Geohash'
type nodes usingGeohash.getGeoJSON
. -
Currently limited to rendering maps in the Web Mercator projection only.
-
-
Added
SchemaElementType
class as common base class for theSchemaVertexType
andSchemaTransactionType
classes. -
Added a REST API. Initially this allows a
RecordStore
to be added to the active graph. -
Added a
ScriptingAction
lookup to allow more actions to be added to the Scripting view Actions drop-down menu. -
Fixed various bugs.
-
Renamed
FeedbackHandler
toSupportHandler
and changed the menu name from “Feedback…” to “Support” -
Renamed
IconManager.getIconObjects
toIconManager.getIcons
. -
Updated
SaveResultsFileWriter.writeRecordStore
to be memory efficient which fixes ajava.lang.OutOfMemoryError
exception and removedSaveResultsFileWriter.write
. -
Updated plugins to provide their own arrangements after being run by overriding
RecordStoreQueryPlugin.completionArrangement()
. By default anyRecordStoreQueryPlugin
will 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
DialogDisplayer
API 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
AnalyticPlugin
class. -
Pre-canned questions are now extensible using the
AnalyticQuestion
class. -
Both internal and graph visualisations are now extensible using the
InternalVisualisation
andGraphVisualisation
classes respectively. -
Note that adding new analytics may require the definition of a new result type using the
AnalyticResult
class, as well as the construction of anAnalyticTranslator
class to translate between your result and any visualisations you wish to enable.
-
-
Added
IntegerObjectAttributeDescription
to handle integer type attributes which could also be null. -
Added generic
JavaFxTopComponent
andListeningTopComponent
classes 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.GraphChangeEvent
toau.gov.asd.tac.constellation.graph.monitor.GraphChangeEvent
. -
Moved
au.gov.asd.tac.constellation.graph.GraphChangeListener
toau.gov.asd.tac.constellation.graph.monitor.GraphChangeListener
. -
Moved utilities for interacting with schemas from the
SchemaFactory
class to theSchemaFactoryUtilities
class. -
Removed
SchemaFactory.getPosition
in favour of using aServiceProvider
position annotation. -
Removed the
CoreExtFx
module. -
Renamed
SimpleSchemaFactory.SIMPLE_SCHEMA_NAME
toSimpleSchemaFactory.SIMPLE_SCHEMA_ID
. -
Renamed arrow icons from UP to
ARROW_UP,
DOWN toARROW_DOWN
etc. -
Replaced
ControlsFX
dialogs withJDK's
Alert 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
IPv6
Address, 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
HttpsUrlConnection
class, a builder pattern to create aHttpsUrlConnection
with sensible defaults like using GZIP compression and the user agent string set to ‘CONSTELLATION’. -
Added
HttpsUtilities
class, a utility class to safely retrieve streams from aHttpsUrlConnection
. -
Added
ObjectAttributeDescriptions
class 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
GraphLabels
and 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
ApplicationPreferenceKeys
toDebuggingPreferenceKeys
. -
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
CorePluginGuide
module. -
Renamed
VisualConcept.TransactionAttribute.COLOR_REFERENCE
toVisualConcept.GraphAttribute.TRANSACTION_COLOR_REFERENCE
. -
Renamed
VisualConcept.VertexAttribute.COLOR_REFERENCE
toVisualConcept.GraphAttribute.NODE_COLOR_REFERENCE
. -
Renamed all attribute name constants e.g.
HierarchicalState.ATTR_NAME
renamed toHierarchicalState.ATTRIBUTE_NAME
. -
Renamed package
au.gov.asd.tac.constellation.attributeeditor.handler
toau.gov.asd.tac.constellation.attributeeditor.editors
. -
Renamed package
au.gov.asd.tac.constellation.attributeeditor.handlerimplementation
toau.gov.asd.tac.constellation.attributeeditor.editors.operations
. -
Renamed the
PreferenceKeys
class toApplicationPreferenceKeys
. -
Renamed the Rule class to
QualityControlRule
. -
Updated
StringUtilities
class to streamline the serialisation of the reworked visual attributes such as labels and decorators. -
Updated
UpdateProvider
class 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
IconManager
and added new icons,BAGEL_BLUE,
BAGEL_GREY
and CHART. -
Improved the Scripting View API by adding support for LINK and EDGE types.
-
Moved the
WhatsNewProvider
fromau.gov.asd.tac.constellation.core.tutorial.whatsnew
toau.gov.asd.tac.constellation.core.whatsnew
. -
Updated
CoreImportExport
now using Apache Commons CSV to parse CSV files.
-
Added a new module called
CoreMapView
which contains the Map View framework. -
Added versioning to attribute description classes.
-
Fixed various bugs.
-
Fixed a dormant graphics bug.
-
Improved the
Rule.executeRule
method by forcing it to take a copy of the graph. -
Renamed the
ResetPlugin
class toResetViewPlugin
.
- Added an icons API so that developers can add custom icons
programmatically using the
IconProvider
class.