use of org.neo4j.graphdb.TransactionFailureException in project neo4j by neo4j.
the class NodeEntity method setProperty.
@Override
public void setProperty(String key, Object value) {
KernelTransaction transaction = internalTransaction.kernelTransaction();
int propertyKeyId;
try {
propertyKeyId = transaction.tokenWrite().propertyKeyGetOrCreateForName(key);
} catch (IllegalTokenNameException e) {
throw new IllegalArgumentException(format("Invalid property key '%s'.", key), e);
} catch (TokenCapacityExceededKernelException e) {
throw new ConstraintViolationException(e.getMessage(), e);
} catch (KernelException e) {
throw new TransactionFailureException("Unknown error trying to create property key token", e);
}
try {
transaction.dataWrite().nodeSetProperty(nodeId, propertyKeyId, Values.of(value, false));
} catch (ConstraintValidationException e) {
throw new ConstraintViolationException(e.getUserMessage(transaction.tokenRead()), e);
} catch (IllegalArgumentException e) {
try {
transaction.rollback();
} catch (org.neo4j.internal.kernel.api.exceptions.TransactionFailureException ex) {
ex.addSuppressed(e);
throw new TransactionFailureException("Fail to rollback transaction.", ex);
}
throw e;
} catch (EntityNotFoundException e) {
throw new NotFoundException(e);
} catch (KernelException e) {
throw new ConstraintViolationException(e.getMessage(), e);
}
}
use of org.neo4j.graphdb.TransactionFailureException in project neo4j by neo4j.
the class RelationshipEntity method removeProperty.
@Override
public Object removeProperty(String key) {
KernelTransaction transaction = internalTransaction.kernelTransaction();
int propertyKeyId;
try {
propertyKeyId = transaction.tokenWrite().propertyKeyGetOrCreateForName(key);
} catch (IllegalTokenNameException e) {
throw new IllegalArgumentException(format("Invalid property key '%s'.", key), e);
} catch (KernelException e) {
throw new TransactionFailureException("Unknown error trying to get property key token", e);
}
try {
return transaction.dataWrite().relationshipRemoveProperty(id, propertyKeyId).asObjectCopy();
} catch (InvalidTransactionTypeKernelException e) {
throw new ConstraintViolationException(e.getMessage(), e);
} catch (EntityNotFoundException e) {
throw new NotFoundException(e);
}
}
Aggregations