NoSQL for Java - 2.1
Extension ID
com.castsoftware.nosqljava
What’s new?
See Release Notes.
Supported NoSQL databases
The NoSQL for Java extension provides support for the following NoSQL databases:
Database | Details about how the support is provided |
---|---|
Amazon DocumentDB | Amazon DocumentDB support for Java source code |
Apache Lucene | Apache Lucene support for Java source code |
Apache Solr | Apache Solr support for Java source code Apache Solr support for Spring Data source code |
Azure Cosmos DB | Azure Cosmos DB support for Java source code Azure Cosmos DB support for Spring Data source code |
Couchbase | Couchbase support for Java source code Couchbase support for Spring Data source code |
CouchDB | CouchDB support for Java source code |
DynamoDB | DynamoDB support for Java source code DynamoDB support for Spring Data source code |
Elasticsearch | Elasticsearch support for Java source code Elasticsearch support for Spring Data source code |
MarkLogic | MarkLogic support for Java source code |
Memcached | Memcached support for Java source code |
MongoDB | MongoDB support for Java source code MongoDB support for Spring Data source code |
Redis | Redis support for Java source code Redis support for Spring Data source code |
Function Point, Quality and Sizing support
- Function Points (transactions): a green tick indicates that OMG Function Point counting and Transaction Risk Index are supported
- Quality and Sizing: a green tick indicates that CAST can measure size and that a minimum set of Quality Rules exist
Function Points (transactions) | Quality and Sizing |
---|---|
✅ | ✅ |
Compatibility
Core release | Operating System | Supported |
---|---|---|
8.4.x | Microsoft Windows / Linux | ✅ |
8.3.x | Microsoft Windows | ✅ |
Prerequisites
Required? | Extensions |
---|---|
✅ | com.castsoftware.jee ≥ 1.3.5-funcrel |
✅ | com.castsoftware.internal.platform ≥ 0.9.11 |
✅ | com.castsoftware.wbslinker ≥ 1.7.19-funcrel |
Download and installation instructions
The extension will be automatically downloaded and installed in CAST Console. You can manage the extension using the Application - Extensions interface.
Handling of NoSQL Java Collection objects for transaction purposes
All NoSQL “Collection” type objects are not classed as having code - i.e. they are codeless and are created via “getcollection” statements. As such, these objects either exist or do not and therefore NoSQL for Java extension does not compute a checksum on them. See https://mongodb.github.io/mongo-java-driver/3.4/driver/tutorials/databases-collections/ for more information. This means that in reality, if a transaction is really changed to add or remove a collection, then the java code itself is changed and so the transaction will be marked as modified. This in turn means that in an environment where the same release of a the NoSQL for Java extension is used for successive analyses, changes in java objects are enough to change the transaction values.
Supported annotations
Annotation Name | Annotation Class |
---|---|
@Document |
org.springframework.data.mongodb.core.mapping.Document org.springframework.data.couchbase.core.mapping.Document |
@Container |
org.springframework.data.cosmos.core.mapping.Container |
@EnableCosmosRepositories |
com.microsoft.azure.spring.data.cosmosdb.repository.config.EnableCosmosRepositories |
@EnableDynamoDBRepositories |
org.socialsignin.spring.data.dynamodb.repository.config.EnableDynamoDBRepositories |
@EnableDocumentDbRepositories |
com.microsoft.azure.spring.data.cosmosdb.repository.config.EnableDocumentDbRepositories com.microsoft.azure.spring.data.documentdb.repository.config.EnableDocumentDbRepositories |
@DynamoDBTable |
com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBTable |
@SolrDocument |
org.springframework.data.solr.core.mapping.SolrDocument |
@RedisHash |
org.springframework.data.redis.core.RedisHash |
@Autowired |
org.springframework.beans.factory.annotation.Autowired |
@Qualifie |
org.springframework.beans.factory.annotation.Qualifier |
@Resource |
org.springframework.beans.factory.annotation.Resource |
Data sensitivity
The NoSQL for Java extension is capable of setting a property on specific objects for the following:
- custom sensitivity
- GDPR
- PCI-DSS
See Data Sensitivity for more information. For example:
API Information in Link Properties
You can now view which API created a link directly from its properties.
Framework Information in Collection Object Properties
A new vendor property has been added to the NoSQL Collection to record the framework in use.