Search in sources :

Example 1 with JoinHandler

use of uk.gov.gchq.gaffer.store.operation.handler.join.JoinHandler in project Gaffer by gchq.

the class Store method addCoreOpHandlers.

private void addCoreOpHandlers() {
    // Add elements
    addOperationHandler(AddElements.class, getAddElementsHandler());
    // Get Elements
    addOperationHandler(GetElements.class, (OperationHandler) getGetElementsHandler());
    // Get Adjacent
    addOperationHandler(GetAdjacentIds.class, (OperationHandler) getAdjacentIdsHandler());
    // Get All Elements
    addOperationHandler(GetAllElements.class, (OperationHandler) getGetAllElementsHandler());
    // Export
    addOperationHandler(ExportToSet.class, new ExportToSetHandler());
    addOperationHandler(GetSetExport.class, new GetSetExportHandler());
    addOperationHandler(GetExports.class, new GetExportsHandler());
    // Jobs
    if (null != getJobTracker()) {
        addOperationHandler(GetJobDetails.class, new GetJobDetailsHandler());
        addOperationHandler(GetAllJobDetails.class, new GetAllJobDetailsHandler());
        addOperationHandler(GetJobResults.class, new GetJobResultsHandler());
    }
    // Output
    addOperationHandler(ToArray.class, new ToArrayHandler<>());
    addOperationHandler(ToEntitySeeds.class, new ToEntitySeedsHandler());
    addOperationHandler(ToList.class, new ToListHandler<>());
    addOperationHandler(ToMap.class, new ToMapHandler());
    addOperationHandler(ToCsv.class, new ToCsvHandler());
    addOperationHandler(ToSet.class, new ToSetHandler<>());
    addOperationHandler(ToStream.class, new ToStreamHandler<>());
    addOperationHandler(ToVertices.class, new ToVerticesHandler());
    if (null != CacheServiceLoader.getService()) {
        // Named operation
        addOperationHandler(NamedOperation.class, new NamedOperationHandler());
        addOperationHandler(AddNamedOperation.class, new AddNamedOperationHandler());
        addOperationHandler(GetAllNamedOperations.class, new GetAllNamedOperationsHandler());
        addOperationHandler(DeleteNamedOperation.class, new DeleteNamedOperationHandler());
        // Named view
        addOperationHandler(AddNamedView.class, new AddNamedViewHandler());
        addOperationHandler(GetAllNamedViews.class, new GetAllNamedViewsHandler());
        addOperationHandler(DeleteNamedView.class, new DeleteNamedViewHandler());
    }
    // ElementComparison
    addOperationHandler(Max.class, new MaxHandler());
    addOperationHandler(Min.class, new MinHandler());
    addOperationHandler(Sort.class, new SortHandler());
    // OperationChain
    addOperationHandler(OperationChain.class, getOperationChainHandler());
    addOperationHandler(OperationChainDAO.class, getOperationChainHandler());
    // OperationChain validation
    addOperationHandler(ValidateOperationChain.class, new ValidateOperationChainHandler());
    // Walk tracking
    addOperationHandler(GetWalks.class, new GetWalksHandler());
    // Other
    addOperationHandler(GenerateElements.class, new GenerateElementsHandler<>());
    addOperationHandler(GenerateObjects.class, new GenerateObjectsHandler<>());
    addOperationHandler(Validate.class, new ValidateHandler());
    addOperationHandler(Count.class, new CountHandler());
    addOperationHandler(CountGroups.class, new CountGroupsHandler());
    addOperationHandler(Limit.class, new LimitHandler());
    addOperationHandler(DiscardOutput.class, new DiscardOutputHandler());
    addOperationHandler(GetSchema.class, new GetSchemaHandler());
    addOperationHandler(uk.gov.gchq.gaffer.operation.impl.Map.class, new MapHandler());
    addOperationHandler(If.class, new IfHandler());
    addOperationHandler(While.class, new WhileHandler());
    addOperationHandler(ForEach.class, new ForEachHandler());
    addOperationHandler(ToSingletonList.class, new ToSingletonListHandler());
    addOperationHandler(Reduce.class, new ReduceHandler());
    addOperationHandler(Join.class, new JoinHandler());
    addOperationHandler(CancelScheduledJob.class, new CancelScheduledJobHandler());
    // Context variables
    addOperationHandler(SetVariable.class, new SetVariableHandler());
    addOperationHandler(GetVariable.class, new GetVariableHandler());
    addOperationHandler(GetVariables.class, new GetVariablesHandler());
    // Function
    addOperationHandler(Filter.class, new FilterHandler());
    addOperationHandler(Transform.class, new TransformHandler());
    addOperationHandler(Aggregate.class, new AggregateHandler());
    // GraphLibrary Adds
    if (null != getGraphLibrary() && !(getGraphLibrary() instanceof NoGraphLibrary)) {
        addOperationHandler(AddSchemaToLibrary.class, new AddSchemaToLibraryHandler());
        addOperationHandler(AddStorePropertiesToLibrary.class, new AddStorePropertiesToLibraryHandler());
    }
    addOperationHandler(GetTraits.class, new GetTraitsHandler());
}
Also used : ValidateOperationChainHandler(uk.gov.gchq.gaffer.store.operation.handler.ValidateOperationChainHandler) ExportToSetHandler(uk.gov.gchq.gaffer.store.operation.handler.export.set.ExportToSetHandler) DeleteNamedOperationHandler(uk.gov.gchq.gaffer.store.operation.handler.named.DeleteNamedOperationHandler) AggregateHandler(uk.gov.gchq.gaffer.store.operation.handler.function.AggregateHandler) CancelScheduledJobHandler(uk.gov.gchq.gaffer.store.operation.handler.job.CancelScheduledJobHandler) GetVariableHandler(uk.gov.gchq.gaffer.store.operation.handler.GetVariableHandler) ToVerticesHandler(uk.gov.gchq.gaffer.store.operation.handler.output.ToVerticesHandler) AddNamedOperationHandler(uk.gov.gchq.gaffer.store.operation.handler.named.AddNamedOperationHandler) DeleteNamedOperationHandler(uk.gov.gchq.gaffer.store.operation.handler.named.DeleteNamedOperationHandler) NamedOperationHandler(uk.gov.gchq.gaffer.store.operation.handler.named.NamedOperationHandler) ReduceHandler(uk.gov.gchq.gaffer.store.operation.handler.ReduceHandler) CountGroupsHandler(uk.gov.gchq.gaffer.store.operation.handler.CountGroupsHandler) FilterHandler(uk.gov.gchq.gaffer.store.operation.handler.function.FilterHandler) GetSetExportHandler(uk.gov.gchq.gaffer.store.operation.handler.export.set.GetSetExportHandler) SortHandler(uk.gov.gchq.gaffer.store.operation.handler.compare.SortHandler) AddStorePropertiesToLibraryHandler(uk.gov.gchq.gaffer.store.operation.handler.AddStorePropertiesToLibraryHandler) GetJobResultsHandler(uk.gov.gchq.gaffer.store.operation.handler.job.GetJobResultsHandler) DiscardOutputHandler(uk.gov.gchq.gaffer.store.operation.handler.DiscardOutputHandler) LimitHandler(uk.gov.gchq.gaffer.store.operation.handler.LimitHandler) GetVariablesHandler(uk.gov.gchq.gaffer.store.operation.handler.GetVariablesHandler) ToEntitySeedsHandler(uk.gov.gchq.gaffer.store.operation.handler.output.ToEntitySeedsHandler) ToMapHandler(uk.gov.gchq.gaffer.store.operation.handler.output.ToMapHandler) SetVariableHandler(uk.gov.gchq.gaffer.store.operation.handler.SetVariableHandler) NoGraphLibrary(uk.gov.gchq.gaffer.store.library.NoGraphLibrary) TransformHandler(uk.gov.gchq.gaffer.store.operation.handler.function.TransformHandler) MinHandler(uk.gov.gchq.gaffer.store.operation.handler.compare.MinHandler) GetJobDetailsHandler(uk.gov.gchq.gaffer.store.operation.handler.job.GetJobDetailsHandler) WhileHandler(uk.gov.gchq.gaffer.store.operation.handler.WhileHandler) AddNamedViewHandler(uk.gov.gchq.gaffer.store.operation.handler.named.AddNamedViewHandler) GetTraitsHandler(uk.gov.gchq.gaffer.store.operation.handler.GetTraitsHandler) ValidateHandler(uk.gov.gchq.gaffer.store.operation.handler.ValidateHandler) GetSchemaHandler(uk.gov.gchq.gaffer.store.operation.handler.GetSchemaHandler) ForEachHandler(uk.gov.gchq.gaffer.store.operation.handler.ForEachHandler) ToSingletonListHandler(uk.gov.gchq.gaffer.store.operation.handler.output.ToSingletonListHandler) GetAllJobDetailsHandler(uk.gov.gchq.gaffer.store.operation.handler.job.GetAllJobDetailsHandler) GetAllNamedViewsHandler(uk.gov.gchq.gaffer.store.operation.handler.named.GetAllNamedViewsHandler) MapHandler(uk.gov.gchq.gaffer.store.operation.handler.MapHandler) ToMapHandler(uk.gov.gchq.gaffer.store.operation.handler.output.ToMapHandler) ToCsvHandler(uk.gov.gchq.gaffer.store.operation.handler.output.ToCsvHandler) GetExportsHandler(uk.gov.gchq.gaffer.store.operation.handler.export.GetExportsHandler) JoinHandler(uk.gov.gchq.gaffer.store.operation.handler.join.JoinHandler) AddSchemaToLibraryHandler(uk.gov.gchq.gaffer.store.operation.handler.AddSchemaToLibraryHandler) DeleteNamedViewHandler(uk.gov.gchq.gaffer.store.operation.handler.named.DeleteNamedViewHandler) MaxHandler(uk.gov.gchq.gaffer.store.operation.handler.compare.MaxHandler) IfHandler(uk.gov.gchq.gaffer.store.operation.handler.IfHandler) GetWalksHandler(uk.gov.gchq.gaffer.store.operation.handler.GetWalksHandler) GetAllNamedOperationsHandler(uk.gov.gchq.gaffer.store.operation.handler.named.GetAllNamedOperationsHandler) CountHandler(uk.gov.gchq.gaffer.store.operation.handler.CountHandler) AddNamedOperationHandler(uk.gov.gchq.gaffer.store.operation.handler.named.AddNamedOperationHandler)

Example 2 with JoinHandler

use of uk.gov.gchq.gaffer.store.operation.handler.join.JoinHandler in project Gaffer by gchq.

the class JoinHandlerTest method shouldThrowExceptionWhenInputIsMoreThanLimit.

@Test
public void shouldThrowExceptionWhenInputIsMoreThanLimit() {
    // Given
    final JoinHandler handler = new JoinHandler();
    final List<Integer> inputList = Arrays.asList(1, 2, 3);
    final Join<Integer> joinOp = new Join.Builder<Integer>().input(inputList).joinType(JoinType.FULL).matchKey(MatchKey.LEFT).matchMethod(new KeyFunctionMatch()).collectionLimit(1).build();
    // When / Then
    assertThatExceptionOfType(OperationException.class).isThrownBy(() -> handler.doOperation(joinOp, context, store)).withMessageContaining("exceeded");
}
Also used : JoinHandler(uk.gov.gchq.gaffer.store.operation.handler.join.JoinHandler) KeyFunctionMatch(uk.gov.gchq.gaffer.store.operation.handler.join.match.KeyFunctionMatch) Test(org.junit.jupiter.api.Test)

Example 3 with JoinHandler

use of uk.gov.gchq.gaffer.store.operation.handler.join.JoinHandler in project Gaffer by gchq.

the class JoinHandlerTest method shouldSetInputToNewArrayListWhenNull.

@Test
public void shouldSetInputToNewArrayListWhenNull() throws OperationException {
    // Given
    final JoinHandler handler = new JoinHandler();
    final Join joinOp = new Join.Builder<>().joinType(JoinType.FULL).matchMethod(new ElementMatch()).matchKey(MatchKey.LEFT).build();
    // When
    handler.doOperation(joinOp, context, store);
    // Then
    assertTrue(joinOp.getInput().equals(new ArrayList<>()));
}
Also used : ElementMatch(uk.gov.gchq.gaffer.store.operation.handler.join.match.ElementMatch) ArrayList(java.util.ArrayList) Join(uk.gov.gchq.gaffer.operation.impl.join.Join) JoinHandler(uk.gov.gchq.gaffer.store.operation.handler.join.JoinHandler) Test(org.junit.jupiter.api.Test)

Example 4 with JoinHandler

use of uk.gov.gchq.gaffer.store.operation.handler.join.JoinHandler in project Gaffer by gchq.

the class JoinHandlerTest method shouldThrowExceptionWhenNoMatchMethodIsSpecified.

@Test
public void shouldThrowExceptionWhenNoMatchMethodIsSpecified() {
    // Given
    final JoinHandler handler = new JoinHandler();
    final List<Integer> inputList = Arrays.asList(1, 2, 3);
    Join<Object> joinOp = new Join.Builder<>().input(inputList).joinType(JoinType.FULL).matchKey(MatchKey.LEFT).build();
    // When / Then
    assertThatExceptionOfType(OperationException.class).isThrownBy(() -> handler.doOperation(joinOp, context, store)).withMessage("A match method must be supplied");
}
Also used : JoinHandler(uk.gov.gchq.gaffer.store.operation.handler.join.JoinHandler) Test(org.junit.jupiter.api.Test)

Aggregations

JoinHandler (uk.gov.gchq.gaffer.store.operation.handler.join.JoinHandler)4 Test (org.junit.jupiter.api.Test)3 ArrayList (java.util.ArrayList)1 Join (uk.gov.gchq.gaffer.operation.impl.join.Join)1 NoGraphLibrary (uk.gov.gchq.gaffer.store.library.NoGraphLibrary)1 AddSchemaToLibraryHandler (uk.gov.gchq.gaffer.store.operation.handler.AddSchemaToLibraryHandler)1 AddStorePropertiesToLibraryHandler (uk.gov.gchq.gaffer.store.operation.handler.AddStorePropertiesToLibraryHandler)1 CountGroupsHandler (uk.gov.gchq.gaffer.store.operation.handler.CountGroupsHandler)1 CountHandler (uk.gov.gchq.gaffer.store.operation.handler.CountHandler)1 DiscardOutputHandler (uk.gov.gchq.gaffer.store.operation.handler.DiscardOutputHandler)1 ForEachHandler (uk.gov.gchq.gaffer.store.operation.handler.ForEachHandler)1 GetSchemaHandler (uk.gov.gchq.gaffer.store.operation.handler.GetSchemaHandler)1 GetTraitsHandler (uk.gov.gchq.gaffer.store.operation.handler.GetTraitsHandler)1 GetVariableHandler (uk.gov.gchq.gaffer.store.operation.handler.GetVariableHandler)1 GetVariablesHandler (uk.gov.gchq.gaffer.store.operation.handler.GetVariablesHandler)1 GetWalksHandler (uk.gov.gchq.gaffer.store.operation.handler.GetWalksHandler)1 IfHandler (uk.gov.gchq.gaffer.store.operation.handler.IfHandler)1 LimitHandler (uk.gov.gchq.gaffer.store.operation.handler.LimitHandler)1 MapHandler (uk.gov.gchq.gaffer.store.operation.handler.MapHandler)1 ReduceHandler (uk.gov.gchq.gaffer.store.operation.handler.ReduceHandler)1