Skip to content

Commit

Permalink
de-generify ResourceTracker
Browse files Browse the repository at this point in the history
  • Loading branch information
fickludd committed Feb 19, 2018
1 parent 3be5f94 commit d2d0ce5
Show file tree
Hide file tree
Showing 14 changed files with 27 additions and 38 deletions.
Expand Up @@ -88,9 +88,9 @@ public void reset()
}
}

public static ComponentRegistry.Provider<Counters> countersProvider(Counters counters1)
public static ComponentRegistry.Provider<Counters> countersProvider( Counters counters )
{
return context -> counters1;
return context -> counters;
}

public class Output
Expand Down Expand Up @@ -137,8 +137,7 @@ public Output next()
{
throw new SimulateFailureException();
}
step++;
return new Output(step);
return new Output(step++);
}
};
Iterable<Output> failingIterable = () -> failingIterator;
Expand Down
Expand Up @@ -181,7 +181,7 @@ class EagerizationAcceptanceTest
builder.mode(Mode.WRITE)
new BasicProcedure(builder.build) {
override def apply(ctx: Context, input: Array[AnyRef],
resourceTracker: ResourceTracker[_<:AutoCloseable]): RawIterator[Array[AnyRef], ProcedureException] = {
resourceTracker: ResourceTracker): RawIterator[Array[AnyRef], ProcedureException] = {
val transaction = ctx.get(proc.Context.KERNEL_TRANSACTION)
val statement = transaction.acquireStatement()
try {
Expand Down Expand Up @@ -219,7 +219,7 @@ class EagerizationAcceptanceTest
builder.mode(Mode.WRITE)
new BasicProcedure(builder.build) {
override def apply(ctx: Context, input: Array[AnyRef],
resourceTracker: ResourceTracker[_<:AutoCloseable]): RawIterator[Array[AnyRef], ProcedureException] = {
resourceTracker: ResourceTracker): RawIterator[Array[AnyRef], ProcedureException] = {
val transaction = ctx.get(proc.Context.KERNEL_TRANSACTION)
val statement = transaction.acquireStatement()
try {
Expand Down Expand Up @@ -256,7 +256,7 @@ class EagerizationAcceptanceTest
builder.out("relId", Neo4jTypes.NTInteger)
new BasicProcedure(builder.build) {
override def apply(ctx: Context, input: Array[AnyRef],
resourceTracker: ResourceTracker[_<:AutoCloseable]): RawIterator[Array[AnyRef], ProcedureException] = {
resourceTracker: ResourceTracker): RawIterator[Array[AnyRef], ProcedureException] = {
val transaction = ctx.get(proc.Context.KERNEL_TRANSACTION)
val statement = transaction.acquireStatement()
try {
Expand Down Expand Up @@ -305,7 +305,7 @@ class EagerizationAcceptanceTest
builder.out(org.neo4j.kernel.api.proc.ProcedureSignature.VOID)
new BasicProcedure(builder.build) {
override def apply(ctx: Context, input: Array[AnyRef],
resourceTracker: ResourceTracker[_<:AutoCloseable]): RawIterator[Array[AnyRef], ProcedureException] = {
resourceTracker: ResourceTracker): RawIterator[Array[AnyRef], ProcedureException] = {
val transaction = ctx.get(proc.Context.KERNEL_TRANSACTION)
val statement = transaction.acquireStatement()
try {
Expand Down
Expand Up @@ -42,7 +42,7 @@ abstract class ProcedureCallAcceptanceTest extends ExecutionEngineFunSuite {

new BasicProcedure(builder.build) {
override def apply(ctx: Context, input: Array[AnyRef],
resourceTracker: ResourceTracker[_<:AutoCloseable]): RawIterator[Array[AnyRef], ProcedureException] =
resourceTracker: ResourceTracker): RawIterator[Array[AnyRef], ProcedureException] =
RawIterator.of[Array[AnyRef], ProcedureException](input)
}
}
Expand All @@ -54,7 +54,7 @@ abstract class ProcedureCallAcceptanceTest extends ExecutionEngineFunSuite {

new BasicProcedure(builder.build) {
override def apply(ctx: Context, input: Array[AnyRef],
resourceTracker: ResourceTracker[_<:AutoCloseable]): RawIterator[Array[AnyRef], ProcedureException] =
resourceTracker: ResourceTracker): RawIterator[Array[AnyRef], ProcedureException] =
RawIterator.of[Array[AnyRef], ProcedureException](Array(value))
}
}
Expand All @@ -75,7 +75,7 @@ abstract class ProcedureCallAcceptanceTest extends ExecutionEngineFunSuite {

new BasicProcedure(builder.build) {
override def apply(ctx: Context, input: Array[AnyRef],
resourceTracker: ResourceTracker[_<:AutoCloseable]): RawIterator[Array[AnyRef], ProcedureException] =
resourceTracker: ResourceTracker): RawIterator[Array[AnyRef], ProcedureException] =
RawIterator.empty()
}
}
Expand All @@ -84,7 +84,7 @@ abstract class ProcedureCallAcceptanceTest extends ExecutionEngineFunSuite {
registerProcedure("dbms.return_nothing") { builder =>
new BasicProcedure(builder.build) {
override def apply(ctx: Context, input: Array[AnyRef],
resourceTracker: ResourceTracker[_<:AutoCloseable]): RawIterator[Array[AnyRef], ProcedureException] =
resourceTracker: ResourceTracker): RawIterator[Array[AnyRef], ProcedureException] =
RawIterator.empty()
}
}
Expand Down
Expand Up @@ -64,5 +64,5 @@ case class TransactionalContextWrapperv3_0(tc: TransactionalContext) extends Que

def securityContext: SecurityContext = tc.securityContext

def resourceTracker: ResourceTracker[_<:AutoCloseable] = tc.resourceTracker
def resourceTracker: ResourceTracker = tc.resourceTracker
}
Expand Up @@ -64,5 +64,5 @@ case class TransactionalContextWrapperv3_1(tc: TransactionalContext) extends Que

def securityContext: SecurityContext = tc.securityContext

def resourceTracker: ResourceTracker[_<:AutoCloseable] = tc.resourceTracker
def resourceTracker: ResourceTracker = tc.resourceTracker
}
Expand Up @@ -700,7 +700,7 @@ class ExecutionEngineIT extends CypherFunSuite with GraphIcing {
}.asJava

override def apply(context: Context, objects: Array[AnyRef],
resourceTracker: ResourceTracker[_<:AutoCloseable]): RawIterator[Array[AnyRef], ProcedureException] = {
resourceTracker: ResourceTracker): RawIterator[Array[AnyRef], ProcedureException] = {
val statement: Statement = context.get(KERNEL_TRANSACTION).acquireStatement
val readOperations = statement.readOperations
val nodes = readOperations.nodesGetAll()
Expand Down
Expand Up @@ -202,7 +202,7 @@ trait SpecSuiteSteps extends FunSuiteLike with Matchers with TCKCucumberTemplate
val kernelSignature = asKernelSignature(parsedSignature)
val kernelProcedure = new BasicProcedure(kernelSignature) {
override def apply(ctx: Context, input: Array[AnyRef],
resourceTracker: ResourceTracker[_<:AutoCloseable]): RawIterator[Array[AnyRef], ProcedureException] = {
resourceTracker: ResourceTracker): RawIterator[Array[AnyRef], ProcedureException] = {
val scalaIterator = tableValues
.filter { row => input.indices.forall { index => row(index) == input(index) } }
.map { row => row.drop(input.length).clone() }
Expand Down
Expand Up @@ -19,7 +19,7 @@
*/
package org.neo4j.kernel.api;

public interface ResourceManager<T extends AutoCloseable> extends ResourceTracker<T>
public interface ResourceManager extends ResourceTracker
{
/**
* Closes and unregisters all the registered resources
Expand Down
Expand Up @@ -19,18 +19,18 @@
*/
package org.neo4j.kernel.api;

public interface ResourceTracker<T extends AutoCloseable>
public interface ResourceTracker
{
/**
* Register a closeable resource that needs to be closed on statement cleanup.
*
* If the given resource can be closed elsewhere, e.g. by exhausting an iterator,
* the close() method of the resource should be idempotent.
*/
void registerCloseableResource( T closeableResource );
void registerCloseableResource( AutoCloseable closeableResource );

/**
* @see #registerCloseableResource
*/
void unregisterCloseableResource( T closeableResource );
void unregisterCloseableResource( AutoCloseable closeableResource );
}
Expand Up @@ -33,7 +33,7 @@
* or {@link #schemaWriteOperations()}, otherwise if already decided, verified so that it's
* of the same type.
*/
public interface Statement extends Resource, ResourceManager<AutoCloseable>
public interface Statement extends Resource, ResourceManager
{
/**
* @return interface exposing all read operations.
Expand Down
Expand Up @@ -26,7 +26,7 @@
import org.neo4j.kernel.api.ResourceManager;
import org.neo4j.kernel.api.exceptions.ResourceCloseFailureException;

public class CloseableResourceManager implements ResourceManager<AutoCloseable>
public class CloseableResourceManager implements ResourceManager
{
private Collection<AutoCloseable> closeableResources;

Expand Down
Expand Up @@ -469,20 +469,10 @@ private ProcedureException closeAndCreateProcedureException( Throwable t )

private ProcedureException newProcedureException( Throwable throwable )
{
ProcedureException procedureException;

if ( throwable instanceof Status.HasStatus )
{
procedureException = new ProcedureException( ((Status.HasStatus) throwable).status(), throwable,
throwable.getMessage() );
}
else
{
procedureException = new ProcedureException( Status.Procedure.ProcedureCallFailed, throwable,
"Failed to invoke procedure `%s`: %s", signature.name(), "Caused by: " + throwable );
}

return procedureException;
return throwable instanceof Status.HasStatus ?
new ProcedureException( ((Status.HasStatus) throwable).status(), throwable, throwable.getMessage() ) :
new ProcedureException( Status.Procedure.ProcedureCallFailed, throwable,
"Failed to invoke procedure `%s`: %s", signature.name(), "Caused by: " + throwable );
}
}

Expand Down
Expand Up @@ -19,7 +19,7 @@
*/
package org.neo4j.kernel.api;

public class StubResourceManager implements ResourceManager<AutoCloseable>
public class StubResourceManager implements ResourceManager
{
@Override
public void registerCloseableResource( AutoCloseable closeable )
Expand Down
Expand Up @@ -38,7 +38,7 @@ public class AuthProceduresTest extends KernelIntegrationTest
@Rule
public ExpectedException exception = ExpectedException.none();

private final ResourceTracker<AutoCloseable> resourceTracker = new StubResourceManager();
private final ResourceTracker resourceTracker = new StubResourceManager();

@Test
public void shouldFailWhenDeprecatedChangePasswordWithStaticAccessModeInDbmsMode() throws Throwable
Expand Down

0 comments on commit d2d0ce5

Please sign in to comment.