Skip to content

Build IndexQuery with source and version, get NullPointerException #1893

Closed
@backbp

Description

@backbp

When build indexQuery withSource and withVersion, but with out Object, get NullPointerException in org.springframework.data.elasticsearch.core.RequestFactory indexRequestBuilder()

where query.getObject() == null and run query.getObject().getClass() when query.getVersion() != null

if (query.getObject() != null) {
	String id = StringUtils.isEmpty(query.getId()) ? getPersistentEntityId(query.getObject()) : query.getId();
	// If we have a query id and a document id, do not ask ES to generate one.
	if (id != null) {
		indexRequestBuilder = client.prepareIndex(indexName, type, id);
	} else {
		indexRequestBuilder = client.prepareIndex(indexName, type);
	}
	indexRequestBuilder.setSource(elasticsearchConverter.mapObject(query.getObject()).toJson(),
			Requests.INDEX_CONTENT_TYPE);
} else if (query.getSource() != null) {
	indexRequestBuilder = client.prepareIndex(indexName, type, query.getId()).setSource(query.getSource(),
			Requests.INDEX_CONTENT_TYPE);
} else {
	throw new InvalidDataAccessApiUsageException(
			"object or source is null, failed to index the document [id: " + query.getId() + ']');
}

if (query.getVersion() != null) {
	indexRequestBuilder.setVersion(query.getVersion());
	VersionType versionType = retrieveVersionTypeFromPersistentEntity(query.getObject().getClass());
	indexRequestBuilder.setVersionType(versionType);
}

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions