├── .devcontainer.json ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── release.yml └── workflows │ ├── codeql.yaml │ ├── continuous-integration-legacy.yaml │ ├── continuous-integration.yaml │ ├── create-hotfix-branch.yaml │ ├── create-release-branch.yaml │ ├── link-issue.yml │ ├── release-standalone.yaml │ ├── release.yaml │ └── update-koryphe-version.yaml ├── .gitignore ├── .gitpod.yml ├── LICENSE ├── NOTICES ├── README.md ├── cd ├── check_modules.sh ├── codesigning.asc.enc ├── mvnsettings.xml ├── test_gaffer_with_spaced_dir.sh └── updateKorypheVersion.sh ├── code-style ├── checkstyle-suppressions.xml ├── checkstyle.xml ├── intellij-style.xml ├── licence-header-java.txt ├── licence-header-pom.txt └── pmd-ruleset.xml ├── core ├── access │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── uk │ │ │ └── gov │ │ │ └── gchq │ │ │ └── gaffer │ │ │ ├── access │ │ │ ├── AccessControlledResource.java │ │ │ ├── ResourceType.java │ │ │ └── predicate │ │ │ │ ├── AccessPredicate.java │ │ │ │ ├── NoAccessPredicate.java │ │ │ │ ├── UnrestrictedAccessPredicate.java │ │ │ │ └── user │ │ │ │ ├── DefaultUserPredicate.java │ │ │ │ ├── NoAccessUserPredicate.java │ │ │ │ └── UnrestrictedAccessUserPredicate.java │ │ │ └── user │ │ │ ├── User.java │ │ │ └── package-info.java │ │ └── test │ │ ├── java │ │ └── uk │ │ │ └── gov │ │ │ └── gchq │ │ │ └── gaffer │ │ │ ├── access │ │ │ └── predicate │ │ │ │ ├── AccessPredicateTest.java │ │ │ │ ├── DefaultAccessPredicateTest.java │ │ │ │ ├── NoAccessPredicateTest.java │ │ │ │ ├── UnrestrictedAccessPredicateTest.java │ │ │ │ └── user │ │ │ │ └── CustomUserPredicate.java │ │ │ └── user │ │ │ └── UserTest.java │ │ └── resources │ │ └── log4j.xml ├── cache │ ├── README.md │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── uk │ │ │ └── gov │ │ │ └── gchq │ │ │ └── gaffer │ │ │ └── cache │ │ │ ├── Cache.java │ │ │ ├── CacheServiceLoader.java │ │ │ ├── ICache.java │ │ │ ├── ICacheService.java │ │ │ ├── exception │ │ │ ├── CacheOperationException.java │ │ │ └── package-info.java │ │ │ ├── impl │ │ │ ├── HashMapCache.java │ │ │ ├── HashMapCacheService.java │ │ │ └── package-info.java │ │ │ ├── package-info.java │ │ │ └── util │ │ │ ├── CacheProperties.java │ │ │ └── package-info.java │ │ └── test │ │ ├── java │ │ └── uk │ │ │ └── gov │ │ │ └── gchq │ │ │ └── gaffer │ │ │ └── cache │ │ │ ├── CacheServiceLoaderTest.java │ │ │ ├── CacheTest.java │ │ │ ├── DeprecatedCacheServiceLoaderTest.java │ │ │ ├── EmptyCacheService.java │ │ │ └── impl │ │ │ ├── HashMapCacheServiceTest.java │ │ │ └── HashMapCacheTest.java │ │ └── resources │ │ └── log4j.xml ├── common-util │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── uk │ │ │ └── gov │ │ │ └── gchq │ │ │ └── gaffer │ │ │ └── commonutil │ │ │ ├── ByteArrayEscapeUtils.java │ │ │ ├── ByteBufferUtil.java │ │ │ ├── ByteUtil.java │ │ │ ├── CloseableUtil.java │ │ │ ├── CollectionUtil.java │ │ │ ├── DebugUtil.java │ │ │ ├── ExecutorService.java │ │ │ ├── FieldUtil.java │ │ │ ├── GroupUtil.java │ │ │ ├── JsonUtil.java │ │ │ ├── LongUtil.java │ │ │ ├── OneOrMore.java │ │ │ ├── PropertiesUtil.java │ │ │ ├── Required.java │ │ │ ├── StreamUtil.java │ │ │ ├── StringUtil.java │ │ │ ├── ToStringBuilder.java │ │ │ ├── elementvisibilityutil │ │ │ ├── ArrayByteSequence.java │ │ │ ├── Authorisations.java │ │ │ ├── ElementVisibility.java │ │ │ ├── VisibilityEvaluator.java │ │ │ └── exception │ │ │ │ └── VisibilityParseException.java │ │ │ ├── exception │ │ │ ├── LimitExceededException.java │ │ │ ├── OverwritingException.java │ │ │ ├── UnauthorisedException.java │ │ │ └── package-info.java │ │ │ ├── iterable │ │ │ ├── AlwaysValid.java │ │ │ ├── BatchedIterable.java │ │ │ ├── CachingIterable.java │ │ │ ├── ConsumableBlockingQueue.java │ │ │ ├── EmptyIterable.java │ │ │ ├── EmptyIterator.java │ │ │ ├── LimitedInMemorySortedIterable.java │ │ │ ├── RepeatItemIterable.java │ │ │ ├── RepeatItemIterator.java │ │ │ ├── StreamFlatMapIterable.java │ │ │ ├── StreamIterable.java │ │ │ ├── StreamIterator.java │ │ │ ├── StreamMapIterable.java │ │ │ ├── SuppliedIterable.java │ │ │ ├── TransformIterable.java │ │ │ ├── TransformOneToManyIterable.java │ │ │ ├── Validator.java │ │ │ └── package-info.java │ │ │ ├── otel │ │ │ └── OtelUtil.java │ │ │ ├── package-info.java │ │ │ ├── pair │ │ │ ├── Pair.java │ │ │ └── package-info.java │ │ │ └── stream │ │ │ ├── FlatMapStreamSupplier.java │ │ │ ├── GafferCollectors.java │ │ │ ├── MapStreamSupplier.java │ │ │ ├── StreamSupplier.java │ │ │ ├── Streams.java │ │ │ └── package-info.java │ │ └── test │ │ ├── java │ │ └── uk │ │ │ └── gov │ │ │ └── gchq │ │ │ └── gaffer │ │ │ └── commonutil │ │ │ ├── ByteBufferUtilTest.java │ │ │ ├── CloseableUtilTest.java │ │ │ ├── CollectionUtilTest.java │ │ │ ├── CommonTestConstants.java │ │ │ ├── FieldUtilTest.java │ │ │ ├── GroupUtilTest.java │ │ │ ├── JsonAssert.java │ │ │ ├── JsonUtilTest.java │ │ │ ├── LongUtilTest.java │ │ │ ├── OneOrMoreTest.java │ │ │ ├── PropertiesUtilTest.java │ │ │ ├── StreamUtilTest.java │ │ │ ├── StringUtilTest.java │ │ │ ├── TestGroups.java │ │ │ ├── TestPropertyNames.java │ │ │ ├── ToStringBuilderTest.java │ │ │ ├── elementvisibilityutil │ │ │ ├── ArrayByteSequenceTest.java │ │ │ ├── AuthorisationsTest.java │ │ │ ├── ElementVisibilityTest.java │ │ │ └── VisibilityEvaluatorTest.java │ │ │ ├── iterable │ │ │ ├── AlwaysValidTrueTest.java │ │ │ ├── CachingIterableTest.java │ │ │ ├── ConsumableBlockingQueueTest.java │ │ │ ├── EmptyIterableTest.java │ │ │ ├── LimitedInMemorySortedIterableTest.java │ │ │ ├── RepeatItemIterableTest.java │ │ │ ├── StreamIterableTest.java │ │ │ ├── StreamIteratorTest.java │ │ │ ├── SuppliedIterableTest.java │ │ │ ├── TransformIterableTest.java │ │ │ └── TransformOneToManyIterableTest.java │ │ │ ├── pair │ │ │ └── PairTest.java │ │ │ └── stream │ │ │ ├── GafferCollectorTest.java │ │ │ └── StreamsTest.java │ │ └── resources │ │ ├── URLSchema.json │ │ └── log4j.xml ├── data │ ├── README.md │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── uk │ │ │ └── gov │ │ │ └── gchq │ │ │ └── gaffer │ │ │ └── data │ │ │ ├── GroupCounts.java │ │ │ ├── IsEdgeValidator.java │ │ │ ├── IsElementValidator.java │ │ │ ├── IsEntityValidator.java │ │ │ ├── element │ │ │ ├── Edge.java │ │ │ ├── EdgeDirection.java │ │ │ ├── Element.java │ │ │ ├── ElementTuple.java │ │ │ ├── ElementValueLoader.java │ │ │ ├── Entity.java │ │ │ ├── GroupedProperties.java │ │ │ ├── IdentifierType.java │ │ │ ├── LazyEdge.java │ │ │ ├── LazyEntity.java │ │ │ ├── LazyProperties.java │ │ │ ├── Properties.java │ │ │ ├── ReservedPropertyNames.java │ │ │ ├── comparison │ │ │ │ ├── ComparableOrToStringComparator.java │ │ │ │ ├── ElementComparator.java │ │ │ │ ├── ElementJoinComparator.java │ │ │ │ ├── ElementPropertyComparator.java │ │ │ │ └── package-info.java │ │ │ ├── function │ │ │ │ ├── ElementAggregator.java │ │ │ │ ├── ElementFilter.java │ │ │ │ ├── ElementTransformer.java │ │ │ │ ├── ElementTupleDefinition.java │ │ │ │ ├── ExtractGroup.java │ │ │ │ ├── ExtractId.java │ │ │ │ ├── ExtractProperty.java │ │ │ │ ├── PropertiesFilter.java │ │ │ │ ├── PropertiesTransformer.java │ │ │ │ ├── PropertiesTuple.java │ │ │ │ ├── ReduceRelatedElements.java │ │ │ │ ├── ToElementTuple.java │ │ │ │ ├── ToPropertiesTuple.java │ │ │ │ ├── TupleToElements.java │ │ │ │ ├── TuplesToElements.java │ │ │ │ ├── TypeSubTypeValueToTuple.java │ │ │ │ ├── TypeSubTypeValueTuple.java │ │ │ │ ├── TypeValueToTuple.java │ │ │ │ ├── TypeValueTuple.java │ │ │ │ ├── UnwrapEntityId.java │ │ │ │ └── package-info.java │ │ │ ├── id │ │ │ │ ├── DirectedType.java │ │ │ │ ├── EdgeId.java │ │ │ │ ├── ElementId.java │ │ │ │ ├── EntityId.java │ │ │ │ └── package-info.java │ │ │ └── package-info.java │ │ │ ├── elementdefinition │ │ │ ├── ElementDefinition.java │ │ │ ├── ElementDefinitions.java │ │ │ ├── exception │ │ │ │ ├── SchemaException.java │ │ │ │ └── package-info.java │ │ │ ├── package-info.java │ │ │ └── view │ │ │ │ ├── GlobalViewElementDefinition.java │ │ │ │ ├── NamedView.java │ │ │ │ ├── NamedViewDetail.java │ │ │ │ ├── View.java │ │ │ │ ├── ViewElementDefinition.java │ │ │ │ ├── ViewParameterDetail.java │ │ │ │ ├── ViewUtil.java │ │ │ │ ├── access │ │ │ │ └── predicate │ │ │ │ │ ├── NamedViewWriteAccessPredicate.java │ │ │ │ │ └── user │ │ │ │ │ └── NamedViewWriteUserPredicate.java │ │ │ │ └── package-info.java │ │ │ ├── generator │ │ │ ├── CsvGenerator.java │ │ │ ├── ElementGenerator.java │ │ │ ├── JsonToElementGenerator.java │ │ │ ├── MapGenerator.java │ │ │ ├── Neo4jCsvElementGenerator.java │ │ │ ├── Neo4jCsvGenerator.java │ │ │ ├── NeptuneCsvElementGenerator.java │ │ │ ├── NeptuneCsvGenerator.java │ │ │ ├── ObjectGenerator.java │ │ │ ├── OneToManyElementGenerator.java │ │ │ ├── OneToOneElementGenerator.java │ │ │ ├── OneToOneObjectGenerator.java │ │ │ ├── OpenCypherCsvElementGenerator.java │ │ │ └── package-info.java │ │ │ ├── graph │ │ │ ├── GraphWindow.java │ │ │ ├── Walk.java │ │ │ ├── adjacency │ │ │ │ ├── AdjacencyMap.java │ │ │ │ ├── AdjacencyMaps.java │ │ │ │ ├── PrunedAdjacencyMaps.java │ │ │ │ ├── SimpleAdjacencyMaps.java │ │ │ │ └── package-info.java │ │ │ ├── entity │ │ │ │ ├── EntityMap.java │ │ │ │ ├── EntityMaps.java │ │ │ │ ├── SimpleEntityMaps.java │ │ │ │ └── package-info.java │ │ │ ├── function │ │ │ │ └── walk │ │ │ │ │ ├── ExtractWalkEdges.java │ │ │ │ │ ├── ExtractWalkEdgesFromHop.java │ │ │ │ │ ├── ExtractWalkEntities.java │ │ │ │ │ ├── ExtractWalkEntitiesFromHop.java │ │ │ │ │ └── ExtractWalkVertex.java │ │ │ └── package-info.java │ │ │ └── package-info.java │ │ └── test │ │ ├── java │ │ └── uk │ │ │ └── gov │ │ │ └── gchq │ │ │ └── gaffer │ │ │ ├── data │ │ │ ├── IsEdgeValidatorTest.java │ │ │ ├── IsElementValidatorTest.java │ │ │ ├── IsEntityValidatorTest.java │ │ │ ├── MapGeneratorTest.java │ │ │ ├── element │ │ │ │ ├── EdgeTest.java │ │ │ │ ├── ElementTest.java │ │ │ │ ├── ElementTupleTest.java │ │ │ │ ├── EntityTest.java │ │ │ │ ├── GroupedPropertiesTest.java │ │ │ │ ├── IdentifierTypeTest.java │ │ │ │ ├── LazyEdgeTest.java │ │ │ │ ├── LazyEntityTest.java │ │ │ │ ├── LazyPropertiesTest.java │ │ │ │ ├── PropertiesTest.java │ │ │ │ ├── TestElements.java │ │ │ │ ├── comparison │ │ │ │ │ ├── ComparableOrToStringComparatorTest.java │ │ │ │ │ ├── ElementEqualityTest.java │ │ │ │ │ └── ElementPropertyComparatorTest.java │ │ │ │ └── function │ │ │ │ │ ├── ElementAggregatorTest.java │ │ │ │ │ ├── ElementFilterTest.java │ │ │ │ │ ├── ElementTransformerTest.java │ │ │ │ │ ├── ExtractGroupTest.java │ │ │ │ │ ├── ExtractIdTest.java │ │ │ │ │ ├── ExtractPropertyTest.java │ │ │ │ │ ├── PropertiesFilterTest.java │ │ │ │ │ ├── PropertiesTransformerTest.java │ │ │ │ │ ├── ReduceRelatedElementsTest.java │ │ │ │ │ ├── ToElementTupleTest.java │ │ │ │ │ ├── ToPropertiesTupleTest.java │ │ │ │ │ ├── TupleToElementsTest.java │ │ │ │ │ ├── TuplesToElementsTest.java │ │ │ │ │ ├── TypeSubTypeValueToTupleTest.java │ │ │ │ │ ├── TypeValueToTupleTest.java │ │ │ │ │ └── UnwrapEntityIdTest.java │ │ │ ├── elementdefinition │ │ │ │ └── view │ │ │ │ │ ├── NamedViewDetailTest.java │ │ │ │ │ ├── NamedViewTest.java │ │ │ │ │ ├── ViewElementDefinitionTest.java │ │ │ │ │ ├── ViewParameterDetailTest.java │ │ │ │ │ ├── ViewTest.java │ │ │ │ │ ├── ViewUtilTest.java │ │ │ │ │ └── access │ │ │ │ │ └── predicate │ │ │ │ │ └── NamedViewWriteAccessPredicateTest.java │ │ │ ├── generator │ │ │ │ ├── Neo4jCsvElementGeneratorTest.java │ │ │ │ ├── NeptuneCsvElementGeneratorTest.java │ │ │ │ ├── OneToManyElementGeneratorTest.java │ │ │ │ ├── OneToOneElementGeneratorTest.java │ │ │ │ └── OpenCypherCsvElementGeneratorTest.java │ │ │ ├── graph │ │ │ │ ├── WalkTest.java │ │ │ │ ├── adjacency │ │ │ │ │ ├── AdjacencyMapTest.java │ │ │ │ │ ├── AdjacencyMapsTest.java │ │ │ │ │ ├── PrunedAdjacencyMapsTest.java │ │ │ │ │ └── SimpleAdjacencyMapsTest.java │ │ │ │ ├── entity │ │ │ │ │ ├── EntityMapTest.java │ │ │ │ │ └── SimpleEntityMapsTest.java │ │ │ │ └── function │ │ │ │ │ └── walk │ │ │ │ │ ├── ExtractWalkEdgesFromHopTest.java │ │ │ │ │ ├── ExtractWalkEdgesTest.java │ │ │ │ │ ├── ExtractWalkEntitiesFromHopTest.java │ │ │ │ │ ├── ExtractWalkEntitiesTest.java │ │ │ │ │ └── ExtractWalkVertexTest.java │ │ │ └── util │ │ │ │ └── ElementUtil.java │ │ │ ├── function │ │ │ ├── ExampleAggregateFunction.java │ │ │ ├── ExampleFilterFunction.java │ │ │ ├── ExampleTransformFunction.java │ │ │ └── ExampleTuple2BinaryOperator.java │ │ │ └── integration │ │ │ └── ViewIT.java │ │ └── resources │ │ ├── log4j.xml │ │ ├── openCypherCSVs │ │ ├── Neo4j │ │ │ ├── BasicEdge.csv │ │ │ ├── BasicEntities.csv │ │ │ ├── BasicEntitiesAndEdges.csv │ │ │ ├── BasicEntityPaddingSpaces.csv │ │ │ ├── BasicEntityPipeDelimited.csv │ │ │ ├── BasicEntityQuotedValues.csv │ │ │ ├── EdgeWithID.csv │ │ │ ├── EdgeWithPropertiesOfMultipleTypes.csv │ │ │ ├── EntityWithPropertiesNoTypes.csv │ │ │ ├── EntityWithPropertiesOfMultipleTypes.csv │ │ │ └── EntityWithPropertyWithUnsupportedType.csv │ │ └── Neptune │ │ │ ├── BasicEdge.csv │ │ │ ├── BasicEntities.csv │ │ │ ├── BasicEntitiesAndEdges.csv │ │ │ ├── BasicEntityPaddingSpaces.csv │ │ │ ├── BasicEntityPipeDelimited.csv │ │ │ ├── BasicEntityQuotedValues.csv │ │ │ ├── EdgeWithID.csv │ │ │ ├── EdgeWithPropertiesOfMultipleTypes.csv │ │ │ ├── EntityWithPropertiesNoTypes.csv │ │ │ ├── EntityWithPropertiesOfMultipleTypes.csv │ │ │ └── EntityWithPropertyWithUnsupportedType.csv │ │ └── view.json ├── exception │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── uk │ │ │ └── gov │ │ │ └── gchq │ │ │ └── gaffer │ │ │ └── core │ │ │ └── exception │ │ │ ├── Error.java │ │ │ ├── ErrorFactory.java │ │ │ ├── GafferCheckedException.java │ │ │ ├── GafferRuntimeException.java │ │ │ ├── GafferWrappedErrorRuntimeException.java │ │ │ ├── Status.java │ │ │ ├── package-info.java │ │ │ └── serialisation │ │ │ ├── StatusDeserialiser.java │ │ │ ├── StatusSerialiser.java │ │ │ └── package-info.java │ │ └── test │ │ ├── java │ │ └── uk │ │ │ └── gov │ │ │ └── gchq │ │ │ └── gaffer │ │ │ └── core │ │ │ └── exception │ │ │ └── ErrorTest.java │ │ └── resources │ │ └── log4j.xml ├── graph │ ├── README.md │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── uk │ │ │ │ └── gov │ │ │ │ └── gchq │ │ │ │ └── gaffer │ │ │ │ ├── graph │ │ │ │ ├── Graph.java │ │ │ │ ├── GraphConfig.java │ │ │ │ ├── GraphRequest.java │ │ │ │ ├── GraphResult.java │ │ │ │ ├── GraphSerialisable.java │ │ │ │ ├── SchemaOperationChainUtil.java │ │ │ │ ├── hook │ │ │ │ │ ├── AddOperationsToChain.java │ │ │ │ │ ├── AdditionalOperations.java │ │ │ │ │ ├── FunctionAuthoriser.java │ │ │ │ │ ├── FunctionAuthoriserUtil.java │ │ │ │ │ ├── GetFromCacheHook.java │ │ │ │ │ ├── GraphHook.java │ │ │ │ │ ├── GraphHookPath.java │ │ │ │ │ ├── Log4jLogger.java │ │ │ │ │ ├── NamedOperationResolver.java │ │ │ │ │ ├── NamedViewResolver.java │ │ │ │ │ ├── OperationAuthoriser.java │ │ │ │ │ ├── OperationChainLimiter.java │ │ │ │ │ ├── UpdateViewHook.java │ │ │ │ │ ├── exception │ │ │ │ │ │ ├── GraphHookException.java │ │ │ │ │ │ └── GraphHookSuffixException.java │ │ │ │ │ ├── migrate │ │ │ │ │ │ ├── MigrateElement.java │ │ │ │ │ │ ├── SchemaMigration.java │ │ │ │ │ │ ├── ViewMigration.java │ │ │ │ │ │ └── predicate │ │ │ │ │ │ │ └── TransformAndFilter.java │ │ │ │ │ └── package-info.java │ │ │ │ └── package-info.java │ │ │ │ └── operation │ │ │ │ └── export │ │ │ │ ├── graph │ │ │ │ ├── AuthorisedGraphForExportDelegate.java │ │ │ │ ├── ExportToOtherAuthorisedGraph.java │ │ │ │ ├── ExportToOtherGraph.java │ │ │ │ ├── GraphForExportDelegate.java │ │ │ │ ├── OtherGraphExporter.java │ │ │ │ ├── handler │ │ │ │ │ ├── ExportToOtherAuthorisedGraphHandler.java │ │ │ │ │ ├── ExportToOtherGraphHandler.java │ │ │ │ │ ├── GraphDelegate.java │ │ │ │ │ └── package-info.java │ │ │ │ └── package-info.java │ │ │ │ ├── package-info.java │ │ │ │ └── resultcache │ │ │ │ ├── GafferResultCacheExporter.java │ │ │ │ ├── handler │ │ │ │ ├── ExportToGafferResultCacheHandler.java │ │ │ │ ├── GetGafferResultCacheExportHandler.java │ │ │ │ ├── package-info.java │ │ │ │ └── util │ │ │ │ │ ├── GafferResultCacheUtil.java │ │ │ │ │ └── package-info.java │ │ │ │ └── package-info.java │ │ └── resources │ │ │ ├── ExportToOtherGraphOperationDeclarations.json │ │ │ └── gafferResultCache │ │ │ └── schema │ │ │ ├── elements.json │ │ │ └── types.json │ │ └── test │ │ ├── java │ │ └── uk │ │ │ └── gov │ │ │ └── gchq │ │ │ └── gaffer │ │ │ ├── graph │ │ │ ├── GraphConfigTest.java │ │ │ ├── GraphRequestTest.java │ │ │ ├── GraphResultTest.java │ │ │ ├── GraphSerialisableTest.java │ │ │ ├── GraphTest.java │ │ │ ├── SchemaOperationChainUtilTest.java │ │ │ └── hook │ │ │ │ ├── AddOperationsToChainTest.java │ │ │ │ ├── AdditionalOperationsTest.java │ │ │ │ ├── FunctionAuthoriserTest.java │ │ │ │ ├── GraphHookTest.java │ │ │ │ ├── Log4jLoggerTest.java │ │ │ │ ├── NamedOperationResolverTest.java │ │ │ │ ├── NamedViewResolverTest.java │ │ │ │ ├── OperationAuthoriserTest.java │ │ │ │ ├── OperationChainLimiterTest.java │ │ │ │ ├── UpdateGraphHookTest.java │ │ │ │ ├── UpdateViewHookTest.java │ │ │ │ └── migrate │ │ │ │ └── MigrateElementTest.java │ │ │ ├── integration │ │ │ ├── graph │ │ │ │ ├── GraphIT.java │ │ │ │ └── SchemaHidingIT.java │ │ │ ├── operation │ │ │ │ └── named │ │ │ │ │ └── cache │ │ │ │ │ └── NamedOperationCacheIT.java │ │ │ └── store │ │ │ │ └── TestStore.java │ │ │ └── operation │ │ │ ├── TestOperationsImpl.java │ │ │ ├── TestUnmodifiableOperationsImpl.java │ │ │ └── export │ │ │ ├── graph │ │ │ ├── ExportToOtherAuthorisedGraphTest.java │ │ │ ├── ExportToOtherGraphTest.java │ │ │ └── handler │ │ │ │ ├── ExportToOtherAuthorisedGraphHandlerTest.java │ │ │ │ └── ExportToOtherGraphHandlerTest.java │ │ │ └── resultcache │ │ │ └── handler │ │ │ ├── ExportToGafferResultCacheHandlerTest.java │ │ │ ├── GafferResultCacheExporterTest.java │ │ │ ├── GetGafferResultCacheExportHandlerTest.java │ │ │ └── util │ │ │ └── GafferResultCacheUtilTest.java │ │ └── resources │ │ ├── ExportToOtherAuthorisedGraphOperationDeclarations.json │ │ ├── addOperationsToChain.json │ │ ├── additionalOperations.json │ │ ├── functionAuthoriser.json │ │ ├── graphConfig.json │ │ ├── graphHooks.json │ │ ├── log4j.xml │ │ ├── opAuthoriser.json │ │ ├── opChainHandler.json │ │ ├── opChainLimiter.json │ │ ├── schema │ │ ├── elements.json │ │ └── types.json │ │ └── store.properties ├── operation │ ├── README.md │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── uk │ │ │ └── gov │ │ │ └── gchq │ │ │ └── gaffer │ │ │ ├── jobtracker │ │ │ ├── Job.java │ │ │ ├── JobDetail.java │ │ │ ├── JobStatus.java │ │ │ ├── JobTracker.java │ │ │ ├── Repeat.java │ │ │ └── package-info.java │ │ │ ├── named │ │ │ ├── operation │ │ │ │ ├── AddNamedOperation.java │ │ │ │ ├── DeleteNamedOperation.java │ │ │ │ ├── GetAllNamedOperations.java │ │ │ │ ├── NamedOperation.java │ │ │ │ ├── NamedOperationDetail.java │ │ │ │ ├── ParameterDetail.java │ │ │ │ ├── package-info.java │ │ │ │ └── serialisation │ │ │ │ │ ├── NamedOperationTypeReference.java │ │ │ │ │ └── package-info.java │ │ │ └── view │ │ │ │ ├── AddNamedView.java │ │ │ │ ├── DeleteNamedView.java │ │ │ │ ├── GetAllNamedViews.java │ │ │ │ └── serialisation │ │ │ │ └── TypeReferenceImpl.java │ │ │ └── operation │ │ │ ├── Operation.java │ │ │ ├── OperationChain.java │ │ │ ├── OperationChainDAO.java │ │ │ ├── OperationException.java │ │ │ ├── Operations.java │ │ │ ├── Validatable.java │ │ │ ├── data │ │ │ ├── EdgeSeed.java │ │ │ ├── ElementSeed.java │ │ │ ├── EntitySeed.java │ │ │ ├── generator │ │ │ │ ├── EdgeIdExtractor.java │ │ │ │ ├── EntityIdExtractor.java │ │ │ │ └── package-info.java │ │ │ └── package-info.java │ │ │ ├── export │ │ │ ├── Export.java │ │ │ ├── ExportTo.java │ │ │ ├── Exporter.java │ │ │ ├── GetExport.java │ │ │ └── package-info.java │ │ │ ├── function │ │ │ ├── FromElementId.java │ │ │ ├── FromEntityId.java │ │ │ ├── ToElementId.java │ │ │ ├── ToEntityId.java │ │ │ ├── ToTrailingWildcardPair.java │ │ │ └── package-info.java │ │ │ ├── graph │ │ │ ├── GraphFilters.java │ │ │ ├── OperationView.java │ │ │ ├── SeededGraphFilters.java │ │ │ └── package-info.java │ │ │ ├── impl │ │ │ ├── Count.java │ │ │ ├── CountGroups.java │ │ │ ├── DiscardOutput.java │ │ │ ├── ForEach.java │ │ │ ├── GenerateSplitPointsFromSample.java │ │ │ ├── GetVariable.java │ │ │ ├── GetVariables.java │ │ │ ├── GetWalks.java │ │ │ ├── If.java │ │ │ ├── Limit.java │ │ │ ├── Map.java │ │ │ ├── Reduce.java │ │ │ ├── SampleElementsForSplitPoints.java │ │ │ ├── ScoreOperationChain.java │ │ │ ├── SetVariable.java │ │ │ ├── SplitStoreFromFile.java │ │ │ ├── SplitStoreFromIterable.java │ │ │ ├── Validate.java │ │ │ ├── ValidateOperationChain.java │ │ │ ├── While.java │ │ │ ├── add │ │ │ │ ├── AddElements.java │ │ │ │ ├── AddElementsFromFile.java │ │ │ │ ├── AddElementsFromKafka.java │ │ │ │ ├── AddElementsFromSocket.java │ │ │ │ └── package-info.java │ │ │ ├── compare │ │ │ │ ├── ElementComparison.java │ │ │ │ ├── Max.java │ │ │ │ ├── Min.java │ │ │ │ ├── Sort.java │ │ │ │ └── package-info.java │ │ │ ├── delete │ │ │ │ └── DeleteElements.java │ │ │ ├── export │ │ │ │ ├── GetExports.java │ │ │ │ ├── localfile │ │ │ │ │ ├── ExportToLocalFile.java │ │ │ │ │ ├── ImportFromLocalFile.java │ │ │ │ │ └── LocalFileExporter.java │ │ │ │ ├── package-info.java │ │ │ │ ├── resultcache │ │ │ │ │ ├── ExportToGafferResultCache.java │ │ │ │ │ ├── GetGafferResultCacheExport.java │ │ │ │ │ └── package-info.java │ │ │ │ └── set │ │ │ │ │ ├── ExportToSet.java │ │ │ │ │ ├── GetSetExport.java │ │ │ │ │ ├── SetExporter.java │ │ │ │ │ └── package-info.java │ │ │ ├── function │ │ │ │ ├── Aggregate.java │ │ │ │ ├── Filter.java │ │ │ │ ├── Function.java │ │ │ │ └── Transform.java │ │ │ ├── generate │ │ │ │ ├── GenerateElements.java │ │ │ │ ├── GenerateObjects.java │ │ │ │ └── package-info.java │ │ │ ├── get │ │ │ │ ├── GetAdjacentIds.java │ │ │ │ ├── GetAllElements.java │ │ │ │ ├── GetElements.java │ │ │ │ ├── GetFromEndpoint.java │ │ │ │ ├── GetGraphCreatedTime.java │ │ │ │ └── package-info.java │ │ │ ├── job │ │ │ │ ├── CancelScheduledJob.java │ │ │ │ ├── GetAllJobDetails.java │ │ │ │ ├── GetJobDetails.java │ │ │ │ ├── GetJobResults.java │ │ │ │ └── package-info.java │ │ │ ├── join │ │ │ │ ├── Join.java │ │ │ │ ├── match │ │ │ │ │ ├── Match.java │ │ │ │ │ └── MatchKey.java │ │ │ │ └── methods │ │ │ │ │ ├── FullJoin.java │ │ │ │ │ ├── InnerJoin.java │ │ │ │ │ ├── JoinFunction.java │ │ │ │ │ ├── JoinType.java │ │ │ │ │ └── OuterJoin.java │ │ │ ├── output │ │ │ │ ├── ToArray.java │ │ │ │ ├── ToCsv.java │ │ │ │ ├── ToEntitySeeds.java │ │ │ │ ├── ToList.java │ │ │ │ ├── ToMap.java │ │ │ │ ├── ToSet.java │ │ │ │ ├── ToSingletonList.java │ │ │ │ ├── ToStream.java │ │ │ │ ├── ToVertices.java │ │ │ │ └── package-info.java │ │ │ └── package-info.java │ │ │ ├── io │ │ │ ├── GenericInput.java │ │ │ ├── Input.java │ │ │ ├── InputOutput.java │ │ │ ├── MultiElementIdInput.java │ │ │ ├── MultiEntityIdInput.java │ │ │ ├── MultiInput.java │ │ │ ├── Output.java │ │ │ └── package-info.java │ │ │ ├── package-info.java │ │ │ ├── serialisation │ │ │ ├── TypeReferenceImpl.java │ │ │ └── package-info.java │ │ │ └── util │ │ │ ├── AggregatePair.java │ │ │ ├── Conditional.java │ │ │ ├── FilterStreamSupplier.java │ │ │ ├── OperationUtil.java │ │ │ └── StreamFilterIterable.java │ │ └── test │ │ ├── java │ │ └── uk │ │ │ └── gov │ │ │ └── gchq │ │ │ └── gaffer │ │ │ ├── data │ │ │ └── generator │ │ │ │ ├── EdgeIdExtractorTest.java │ │ │ │ ├── ElementGeneratorImpl.java │ │ │ │ ├── EntityIdExtractorTest.java │ │ │ │ └── ObjectGeneratorImpl.java │ │ │ ├── export │ │ │ ├── LocalFileExporterTest.java │ │ │ └── SetExporterTest.java │ │ │ ├── function │ │ │ └── migration │ │ │ │ ├── ToInteger.java │ │ │ │ └── ToLong.java │ │ │ ├── generator │ │ │ ├── TestBytesGeneratorImpl.java │ │ │ └── TestGeneratorImpl.java │ │ │ ├── jobtracker │ │ │ ├── JobDetailTest.java │ │ │ ├── JobTest.java │ │ │ └── JobTrackerBrokenCacheTest.java │ │ │ ├── named │ │ │ ├── operation │ │ │ │ ├── AddNamedOperationTest.java │ │ │ │ ├── NamedOperationDetailTest.java │ │ │ │ ├── NamedOperationTest.java │ │ │ │ └── ParameterDetailTest.java │ │ │ └── view │ │ │ │ ├── AddNamedViewTest.java │ │ │ │ └── DeleteNamedViewTest.java │ │ │ ├── operation │ │ │ ├── OperationChainTest.java │ │ │ ├── OperationTest.java │ │ │ ├── OperationsTest.java │ │ │ ├── data │ │ │ │ ├── CustomVertex.java │ │ │ │ ├── EdgeSeedTest.java │ │ │ │ └── EntitySeedTest.java │ │ │ ├── export │ │ │ │ ├── GetExportsTest.java │ │ │ │ ├── localfile │ │ │ │ │ ├── ExportToLocalFileTest.java │ │ │ │ │ └── ImportFromLocalFileTest.java │ │ │ │ ├── resultcache │ │ │ │ │ ├── ExportToGafferResultCacheTest.java │ │ │ │ │ └── GetGafferResultCacheExportTest.java │ │ │ │ └── set │ │ │ │ │ ├── ExportToSetTest.java │ │ │ │ │ └── GetSetExportTest.java │ │ │ ├── function │ │ │ │ ├── FromElementIdTest.java │ │ │ │ ├── FromEntityIdTest.java │ │ │ │ ├── ToElementIdTest.java │ │ │ │ ├── ToEntityIdTest.java │ │ │ │ └── ToTrailingWildcardPairTest.java │ │ │ ├── graph │ │ │ │ ├── OperationViewImpl.java │ │ │ │ └── OperationViewTest.java │ │ │ ├── impl │ │ │ │ ├── CountGroupsTest.java │ │ │ │ ├── CountTest.java │ │ │ │ ├── DiscardOutputTest.java │ │ │ │ ├── ForEachTest.java │ │ │ │ ├── GenerateSplitPointsFromSampleTest.java │ │ │ │ ├── GetVariableTest.java │ │ │ │ ├── GetVariablesTest.java │ │ │ │ ├── GetWalksTest.java │ │ │ │ ├── IfTest.java │ │ │ │ ├── JoinTest.java │ │ │ │ ├── LimitTest.java │ │ │ │ ├── OperationImpl.java │ │ │ │ ├── OperationImplTest.java │ │ │ │ ├── SampleElementsForSplitPointsTest.java │ │ │ │ ├── ScoreOperationChainTest.java │ │ │ │ ├── SetVariableTest.java │ │ │ │ ├── SplitStoreFromFileTest.java │ │ │ │ ├── SplitStoreFromIterableTest.java │ │ │ │ ├── ValidateOperationChainTest.java │ │ │ │ ├── ValidateTest.java │ │ │ │ ├── WhileTest.java │ │ │ │ ├── add │ │ │ │ │ ├── AddElementsFromFileTest.java │ │ │ │ │ ├── AddElementsFromKafkaTest.java │ │ │ │ │ ├── AddElementsFromSocketTest.java │ │ │ │ │ └── AddElementsTest.java │ │ │ │ ├── compare │ │ │ │ │ ├── MaxTest.java │ │ │ │ │ ├── MinTest.java │ │ │ │ │ └── SortTest.java │ │ │ │ ├── delete │ │ │ │ │ └── DeleteElementsTest.java │ │ │ │ ├── function │ │ │ │ │ ├── FilterTest.java │ │ │ │ │ ├── MapTest.java │ │ │ │ │ └── ReduceTest.java │ │ │ │ ├── generate │ │ │ │ │ ├── GenerateElementsTest.java │ │ │ │ │ └── GenerateObjectsTest.java │ │ │ │ ├── get │ │ │ │ │ ├── GetAdjacentIdsTest.java │ │ │ │ │ ├── GetAllElementsTest.java │ │ │ │ │ ├── GetElementsTest.java │ │ │ │ │ ├── GetFromEndpointTest.java │ │ │ │ │ └── GetGraphCreatedTimeTest.java │ │ │ │ ├── io │ │ │ │ │ ├── GenericInputImpl.java │ │ │ │ │ ├── GenericInputTest.java │ │ │ │ │ ├── InputImpl.java │ │ │ │ │ └── InputImplTest.java │ │ │ │ ├── join │ │ │ │ │ ├── JoinFunctionTest.java │ │ │ │ │ └── methods │ │ │ │ │ │ ├── FullJoinTest.java │ │ │ │ │ │ ├── InnerJoinTest.java │ │ │ │ │ │ └── OuterJoinTest.java │ │ │ │ └── output │ │ │ │ │ ├── ToArrayTest.java │ │ │ │ │ ├── ToCsvTest.java │ │ │ │ │ ├── ToEntitySeedsTest.java │ │ │ │ │ ├── ToListTest.java │ │ │ │ │ ├── ToMapTest.java │ │ │ │ │ ├── ToSetTest.java │ │ │ │ │ ├── ToSingletonListTest.java │ │ │ │ │ ├── ToStreamTest.java │ │ │ │ │ └── ToVerticesTest.java │ │ │ ├── job │ │ │ │ ├── CancelScheduledJobTest.java │ │ │ │ ├── GetAllJobDetailsTest.java │ │ │ │ ├── GetJobDetailsTest.java │ │ │ │ └── GetJobResultsTest.java │ │ │ └── util │ │ │ │ ├── AggregatePairTest.java │ │ │ │ ├── ConditionalTest.java │ │ │ │ └── OperationUtilTest.java │ │ │ └── user │ │ │ └── StoreUser.java │ │ └── resources │ │ └── log4j.xml ├── pom.xml ├── serialisation │ ├── README.md │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── uk │ │ │ └── gov │ │ │ └── gchq │ │ │ └── gaffer │ │ │ ├── exception │ │ │ ├── SerialisationException.java │ │ │ └── package-info.java │ │ │ ├── jsonserialisation │ │ │ ├── JSONSerialiser.java │ │ │ ├── JSONSerialiserModules.java │ │ │ ├── jackson │ │ │ │ └── IterableDeserializer.java │ │ │ └── package-info.java │ │ │ └── serialisation │ │ │ ├── Serialiser.java │ │ │ ├── ToBytesSerialiser.java │ │ │ ├── ToBytesViaStringDeserialiser.java │ │ │ ├── ToStringSerialiser.java │ │ │ ├── implementation │ │ │ ├── BooleanSerialiser.java │ │ │ ├── BytesSerialiser.java │ │ │ ├── JavaSerialiser.java │ │ │ ├── MapSerialiser.java │ │ │ ├── MultiSerialiser.java │ │ │ ├── MultiSerialiserStorage.java │ │ │ ├── NullSerialiser.java │ │ │ ├── SetSerialiser.java │ │ │ ├── StringSerialiser.java │ │ │ ├── TreeSetStringSerialiser.java │ │ │ ├── ordered │ │ │ │ ├── OrderedDateSerialiser.java │ │ │ │ ├── OrderedDoubleSerialiser.java │ │ │ │ ├── OrderedFloatSerialiser.java │ │ │ │ ├── OrderedIntegerSerialiser.java │ │ │ │ ├── OrderedLongSerialiser.java │ │ │ │ └── package-info.java │ │ │ ├── package-info.java │ │ │ ├── raw │ │ │ │ ├── CompactRawIntegerSerialiser.java │ │ │ │ ├── CompactRawLongSerialiser.java │ │ │ │ ├── CompactRawSerialisationUtils.java │ │ │ │ └── package-info.java │ │ │ └── tostring │ │ │ │ ├── StringToStringSerialiser.java │ │ │ │ └── package-info.java │ │ │ ├── package-info.java │ │ │ └── util │ │ │ ├── JsonSerialisationUtil.java │ │ │ ├── LengthValueBytesSerialiserUtil.java │ │ │ └── package-info.java │ │ └── test │ │ ├── java │ │ └── uk │ │ │ └── gov │ │ │ └── gchq │ │ │ └── gaffer │ │ │ ├── JSONSerialisationTest.java │ │ │ ├── jsonSerialisation │ │ │ └── JSONSerialiserTest.java │ │ │ └── serialisation │ │ │ ├── ParameterisedTestObject.java │ │ │ ├── SerialisationTest.java │ │ │ ├── SimpleTestObject.java │ │ │ ├── ToBytesSerialisationTest.java │ │ │ ├── implementation │ │ │ ├── BooleanSerialiserTest.java │ │ │ ├── BytesSerialiserTest.java │ │ │ ├── JavaSerialiserTest.java │ │ │ ├── MapSerialiserTest.java │ │ │ ├── MultiSerialiserTest.java │ │ │ ├── NullSerialiserTest.java │ │ │ ├── SetSerialiserTest.java │ │ │ ├── StringSerialiserTest.java │ │ │ ├── TreeSetStringSerialiserTest.java │ │ │ ├── ordered │ │ │ │ ├── OrderedDateSerialiserTest.java │ │ │ │ ├── OrderedDoubleSerialiserTest.java │ │ │ │ ├── OrderedFloatSerialiserTest.java │ │ │ │ ├── OrderedIntegerSerialiserTest.java │ │ │ │ └── OrderedLongSerialiserTest.java │ │ │ ├── raw │ │ │ │ ├── CompactRawIntegerSerialiserTest.java │ │ │ │ ├── CompactRawLongSerialiserTest.java │ │ │ │ └── CompactRawSerialisationUtilsTest.java │ │ │ └── tostring │ │ │ │ └── StringToStringSerialiserTest.java │ │ │ └── util │ │ │ ├── JsonSerialisationUtilTest.java │ │ │ ├── LengthValueBytesSerialiserUtilTest.java │ │ │ └── MultiSerialiserStorageTest.java │ │ └── resources │ │ ├── log4j.xml │ │ └── multiSerialiser.json ├── store │ ├── README.md │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── uk │ │ │ └── gov │ │ │ └── gchq │ │ │ └── gaffer │ │ │ └── store │ │ │ ├── Context.java │ │ │ ├── ElementValidator.java │ │ │ ├── SchemaOperationChainValidator.java │ │ │ ├── SerialisationFactory.java │ │ │ ├── Store.java │ │ │ ├── StoreException.java │ │ │ ├── StoreProperties.java │ │ │ ├── StoreTrait.java │ │ │ ├── TypeReferenceStoreImpl.java │ │ │ ├── ValidatedElements.java │ │ │ ├── element │ │ │ └── ElementKey.java │ │ │ ├── library │ │ │ ├── FileGraphLibrary.java │ │ │ ├── GraphLibrary.java │ │ │ ├── HashMapGraphLibrary.java │ │ │ ├── NoGraphLibrary.java │ │ │ └── package-info.java │ │ │ ├── operation │ │ │ ├── DeleteAllData.java │ │ │ ├── GetSchema.java │ │ │ ├── GetTraits.java │ │ │ ├── HasTrait.java │ │ │ ├── OperationChainValidator.java │ │ │ ├── OperationUtil.java │ │ │ ├── add │ │ │ │ ├── AddSchemaToLibrary.java │ │ │ │ └── AddStorePropertiesToLibrary.java │ │ │ ├── declaration │ │ │ │ ├── OperationDeclaration.java │ │ │ │ ├── OperationDeclarations.java │ │ │ │ └── package-info.java │ │ │ ├── handler │ │ │ │ ├── AbstractGenerateSplitPointsFromSampleHandler.java │ │ │ │ ├── AbstractSampleElementsForSplitPointsHandler.java │ │ │ │ ├── AddSchemaToLibraryHandler.java │ │ │ │ ├── AddStorePropertiesToLibraryHandler.java │ │ │ │ ├── CountGroupsHandler.java │ │ │ │ ├── CountHandler.java │ │ │ │ ├── DiscardOutputHandler.java │ │ │ │ ├── ForEachHandler.java │ │ │ │ ├── GetFromEndpointHandler.java │ │ │ │ ├── GetGraphCreatedTimeHandler.java │ │ │ │ ├── GetSchemaHandler.java │ │ │ │ ├── GetTraitsHandler.java │ │ │ │ ├── GetVariableHandler.java │ │ │ │ ├── GetVariablesHandler.java │ │ │ │ ├── GetWalksHandler.java │ │ │ │ ├── HasTraitHandler.java │ │ │ │ ├── IfHandler.java │ │ │ │ ├── LimitHandler.java │ │ │ │ ├── MapHandler.java │ │ │ │ ├── OperationChainHandler.java │ │ │ │ ├── OperationHandler.java │ │ │ │ ├── OperationWithSchemaHandler.java │ │ │ │ ├── OutputOperationHandler.java │ │ │ │ ├── ReduceHandler.java │ │ │ │ ├── ScoreOperationChainHandler.java │ │ │ │ ├── SetVariableHandler.java │ │ │ │ ├── SplitStoreFromFileHandler.java │ │ │ │ ├── ValidateHandler.java │ │ │ │ ├── ValidateOperationChainHandler.java │ │ │ │ ├── WhileHandler.java │ │ │ │ ├── compare │ │ │ │ │ ├── MaxHandler.java │ │ │ │ │ ├── MinHandler.java │ │ │ │ │ ├── SortHandler.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── export │ │ │ │ │ ├── ExportOperationHandler.java │ │ │ │ │ ├── ExportToHandler.java │ │ │ │ │ ├── GetExportHandler.java │ │ │ │ │ ├── GetExportsHandler.java │ │ │ │ │ ├── localfile │ │ │ │ │ │ ├── ExportToLocalFileHandler.java │ │ │ │ │ │ └── ImportFromLocalFileHandler.java │ │ │ │ │ ├── package-info.java │ │ │ │ │ └── set │ │ │ │ │ │ ├── ExportToSetHandler.java │ │ │ │ │ │ ├── GetSetExportHandler.java │ │ │ │ │ │ └── package-info.java │ │ │ │ ├── function │ │ │ │ │ ├── AggregateHandler.java │ │ │ │ │ ├── FilterHandler.java │ │ │ │ │ └── TransformHandler.java │ │ │ │ ├── generate │ │ │ │ │ ├── GenerateElementsHandler.java │ │ │ │ │ ├── GenerateObjectsHandler.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── job │ │ │ │ │ ├── CancelScheduledJobHandler.java │ │ │ │ │ ├── GetAllJobDetailsHandler.java │ │ │ │ │ ├── GetJobDetailsHandler.java │ │ │ │ │ ├── GetJobResultsHandler.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── join │ │ │ │ │ ├── JoinHandler.java │ │ │ │ │ └── match │ │ │ │ │ │ ├── ElementMatch.java │ │ │ │ │ │ └── KeyFunctionMatch.java │ │ │ │ ├── named │ │ │ │ │ ├── AddNamedOperationHandler.java │ │ │ │ │ ├── AddNamedViewHandler.java │ │ │ │ │ ├── AddToCacheHandler.java │ │ │ │ │ ├── DeleteNamedOperationHandler.java │ │ │ │ │ ├── DeleteNamedViewHandler.java │ │ │ │ │ ├── GetAllNamedOperationsHandler.java │ │ │ │ │ ├── GetAllNamedViewsHandler.java │ │ │ │ │ ├── NamedOperationHandler.java │ │ │ │ │ ├── cache │ │ │ │ │ │ ├── NamedOperationCache.java │ │ │ │ │ │ ├── NamedViewCache.java │ │ │ │ │ │ └── package-info.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── output │ │ │ │ │ ├── ToArrayHandler.java │ │ │ │ │ ├── ToCsvHandler.java │ │ │ │ │ ├── ToEntitySeedsHandler.java │ │ │ │ │ ├── ToListHandler.java │ │ │ │ │ ├── ToMapHandler.java │ │ │ │ │ ├── ToSetHandler.java │ │ │ │ │ ├── ToSingletonListHandler.java │ │ │ │ │ ├── ToStreamHandler.java │ │ │ │ │ ├── ToVerticesHandler.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── package-info.java │ │ │ │ └── util │ │ │ │ │ └── OperationHandlerUtil.java │ │ │ ├── package-info.java │ │ │ ├── resolver │ │ │ │ ├── DefaultScoreResolver.java │ │ │ │ ├── IfScoreResolver.java │ │ │ │ ├── ScoreResolver.java │ │ │ │ ├── WhileScoreResolver.java │ │ │ │ └── named │ │ │ │ │ └── NamedOperationScoreResolver.java │ │ │ ├── util │ │ │ │ ├── StreamTransformIterable.java │ │ │ │ └── TransformStreamSupplier.java │ │ │ └── validator │ │ │ │ └── function │ │ │ │ ├── AggregateValidator.java │ │ │ │ ├── FilterValidator.java │ │ │ │ ├── FunctionValidator.java │ │ │ │ └── TransformValidator.java │ │ │ ├── optimiser │ │ │ ├── AbstractOperationChainOptimiser.java │ │ │ ├── OperationChainOptimiser.java │ │ │ └── package-info.java │ │ │ ├── package-info.java │ │ │ ├── schema │ │ │ ├── Schema.java │ │ │ ├── SchemaEdgeDefinition.java │ │ │ ├── SchemaElementDefinition.java │ │ │ ├── SchemaElementDefinitionValidator.java │ │ │ ├── SchemaEntityDefinition.java │ │ │ ├── SchemaOptimiser.java │ │ │ ├── TypeDefinition.java │ │ │ ├── ViewValidator.java │ │ │ ├── exception │ │ │ │ ├── SplitElementGroupDefSchemaException.java │ │ │ │ ├── VertexSerialiserSchemaException.java │ │ │ │ └── VisibilityPropertySchemaException.java │ │ │ └── package-info.java │ │ │ ├── serialiser │ │ │ ├── EdgeIdSerialiser.java │ │ │ ├── EdgeSerialiser.java │ │ │ ├── ElementIdSerialiser.java │ │ │ ├── ElementSerialiser.java │ │ │ ├── EntityIdSerialiser.java │ │ │ ├── EntitySerialiser.java │ │ │ ├── GroupedPropertiesSerialiser.java │ │ │ ├── PropertiesSerialiser.java │ │ │ └── package-info.java │ │ │ └── util │ │ │ ├── AggregatorUtil.java │ │ │ └── package-info.java │ │ └── test │ │ ├── java │ │ └── uk │ │ │ └── gov │ │ │ └── gchq │ │ │ └── gaffer │ │ │ ├── function │ │ │ ├── ExampleAggregateFunction.java │ │ │ ├── ExampleFilterFunction.java │ │ │ └── ExampleTransformFunction.java │ │ │ └── store │ │ │ ├── ContextTest.java │ │ │ ├── ElementValidatorTest.java │ │ │ ├── SerialisationFactoryTest.java │ │ │ ├── StorePropertiesTest.java │ │ │ ├── StoreTest.java │ │ │ ├── TestTypes.java │ │ │ ├── ValidatedElementsTest.java │ │ │ ├── integration │ │ │ └── StoreIT.java │ │ │ ├── library │ │ │ ├── AbstractGraphLibraryTest.java │ │ │ ├── FileGraphLibraryTest.java │ │ │ ├── HashMapGraphLibraryTest.java │ │ │ └── NoGraphLibraryTest.java │ │ │ ├── operation │ │ │ ├── DeleteAllDataTest.java │ │ │ ├── GetSchemaTest.java │ │ │ ├── GetTraitsTest.java │ │ │ ├── HasTraitTest.java │ │ │ ├── OperationChainValidatorTest.java │ │ │ ├── OperationUtilTest.java │ │ │ ├── add │ │ │ │ ├── AddSchemaToLibraryTest.java │ │ │ │ └── AddStorePropertiesToLibraryTest.java │ │ │ ├── handler │ │ │ │ ├── AbstractGenerateSplitPointsFromSampleHandlerTest.java │ │ │ │ ├── AbstractSampleElementsForSplitPointsHandlerTest.java │ │ │ │ ├── AddSchemaToLibraryHandlerTest.java │ │ │ │ ├── AddStorePropertiesToLibraryHandlerTest.java │ │ │ │ ├── CountGroupsHandlerTest.java │ │ │ │ ├── CountHandlerTest.java │ │ │ │ ├── DiscardOutputHandlerTest.java │ │ │ │ ├── ForEachHandlerTest.java │ │ │ │ ├── GetFromEndpointHandlerTest.java │ │ │ │ ├── GetGraphCreatedTimeHandlerTest.java │ │ │ │ ├── GetSchemaHandlerTest.java │ │ │ │ ├── GetTraitsHandlerTest.java │ │ │ │ ├── GetVariableHandlerTest.java │ │ │ │ ├── GetVariablesHandlerTest.java │ │ │ │ ├── GetWalksHandlerTest.java │ │ │ │ ├── HasTraitHandlerTest.java │ │ │ │ ├── IfHandlerTest.java │ │ │ │ ├── JoinHandlerTest.java │ │ │ │ ├── LimitHandlerTest.java │ │ │ │ ├── MapHandlerTest.java │ │ │ │ ├── OperationChainHandlerTest.java │ │ │ │ ├── ReduceHandlerTest.java │ │ │ │ ├── ScoreOperationChainHandlerTest.java │ │ │ │ ├── SetVariableHandlerTest.java │ │ │ │ ├── TestAddToGraphLibraryImpl.java │ │ │ │ ├── ValidateHandlerTest.java │ │ │ │ ├── ValidateOperationChainHandlerTest.java │ │ │ │ ├── WhileHandlerTest.java │ │ │ │ ├── compare │ │ │ │ │ ├── MaxHandlerTest.java │ │ │ │ │ ├── MinHandlerTest.java │ │ │ │ │ └── SortHandlerTest.java │ │ │ │ ├── export │ │ │ │ │ ├── localfile │ │ │ │ │ │ ├── ExportToLocalFileHandlerTest.java │ │ │ │ │ │ └── ImportFromLocalFileHandlerTest.java │ │ │ │ │ └── set │ │ │ │ │ │ └── ExportToSetHandlerTest.java │ │ │ │ ├── function │ │ │ │ │ ├── AggregateHandlerTest.java │ │ │ │ │ ├── FilterHandlerTest.java │ │ │ │ │ └── TransformHandlerTest.java │ │ │ │ ├── generate │ │ │ │ │ ├── GenerateElementsHandlerTest.java │ │ │ │ │ └── GenerateObjectsHandlerTest.java │ │ │ │ ├── job │ │ │ │ │ ├── CancelScheduledJobHandlerTest.java │ │ │ │ │ ├── GetAllJobDetailsHandlerTest.java │ │ │ │ │ └── GetJobDetailsHandlerTest.java │ │ │ │ ├── join │ │ │ │ │ └── match │ │ │ │ │ │ ├── ElementMatchTest.java │ │ │ │ │ │ └── KeyFunctionMatchTest.java │ │ │ │ ├── named │ │ │ │ │ ├── AddNamedOperationHandlerTest.java │ │ │ │ │ ├── AddNamedViewHandlerTest.java │ │ │ │ │ ├── DeleteNamedViewHandlerTest.java │ │ │ │ │ ├── GetAllNamedOperationsHandlerTest.java │ │ │ │ │ ├── GetAllNamedViewsHandlerTest.java │ │ │ │ │ └── cache │ │ │ │ │ │ ├── NamedOperationCacheTest.java │ │ │ │ │ │ ├── NamedViewCacheBackwardCompatibilityTest.java │ │ │ │ │ │ └── NamedViewCacheTest.java │ │ │ │ └── output │ │ │ │ │ ├── ToArrayHandlerTest.java │ │ │ │ │ ├── ToCsvHandlerTest.java │ │ │ │ │ ├── ToEntitySeedsHandlerTest.java │ │ │ │ │ ├── ToListHandlerTest.java │ │ │ │ │ ├── ToMapHandlerTest.java │ │ │ │ │ ├── ToSetHandlerTest.java │ │ │ │ │ ├── ToSingletonListHandlerTest.java │ │ │ │ │ ├── ToStreamHandlerTest.java │ │ │ │ │ └── ToVerticesHandlerTest.java │ │ │ └── resolver │ │ │ │ ├── DefaultScoreResolverTest.java │ │ │ │ ├── IfScoreResolverTest.java │ │ │ │ ├── WhileScoreResolverTest.java │ │ │ │ └── named │ │ │ │ └── NamedOperationScoreResolverTest.java │ │ │ ├── operations │ │ │ └── OperationDeclarationsTest.java │ │ │ ├── schema │ │ │ ├── SchemaEdgeDefinitionTest.java │ │ │ ├── SchemaElementDefinitionTest.java │ │ │ ├── SchemaElementDefinitionValidatorTest.java │ │ │ ├── SchemaEntityDefinitionTest.java │ │ │ ├── SchemaOptimiserTest.java │ │ │ ├── SchemaTest.java │ │ │ ├── TestSchema.java │ │ │ └── ViewValidatorTest.java │ │ │ ├── serialiser │ │ │ ├── EdgeIdSerialiserTest.java │ │ │ ├── EdgeSerialiserTest.java │ │ │ ├── ElementIdSerialiserTest.java │ │ │ ├── ElementSerialiserTest.java │ │ │ ├── EntityIdSerialiserTest.java │ │ │ ├── EntitySerialiserTest.java │ │ │ └── GroupedPropertiesSerialiserTest.java │ │ │ └── util │ │ │ └── AggregatorUtilTest.java │ │ └── resources │ │ ├── GetFromEndpointOperationDeclarations.json │ │ ├── TestScoreOperationChainDeclaration.json │ │ ├── allCaches.properties │ │ ├── authScores.properties │ │ ├── customOpChainLimiter.json │ │ ├── gaffer-2.0.0-cache │ │ ├── cache.ccf │ │ └── indexed-disk-cache │ │ │ ├── NamedOperation_suffix.data │ │ │ ├── NamedOperation_suffix.key │ │ │ ├── NamedView_backwards_compatability_2.0.0.data │ │ │ ├── NamedView_backwards_compatability_2.0.0.key │ │ │ ├── NamedView_suffix.data │ │ │ ├── NamedView_suffix.key │ │ │ ├── jobTrackerRegion.data │ │ │ ├── jobTrackerRegion.key │ │ │ ├── namedOperationsRegion.data │ │ │ ├── namedOperationsRegion.key │ │ │ ├── test.data │ │ │ └── test.key │ │ ├── legacyStore.properties │ │ ├── log4j.xml │ │ ├── opChainLimiterHandler.json │ │ ├── openCypherCsv │ │ └── openCypherBasicEntitiesAndEdges.csv │ │ ├── operationDeclarations1.json │ │ ├── operationDeclarations2.json │ │ ├── operationDeclarations3.json │ │ ├── schema-aggregation │ │ ├── elements.json │ │ └── types.json │ │ ├── schema-basic │ │ ├── elements.json │ │ └── types.json │ │ ├── schema-full │ │ ├── elements.json │ │ └── types.json │ │ ├── schema-groupby │ │ ├── elements.json │ │ └── types.json │ │ ├── schema-nested │ │ ├── elements.json │ │ ├── serialisation │ │ │ └── serialisation.json │ │ └── types │ │ │ └── types.json │ │ ├── schema-visibility │ │ ├── elements.json │ │ └── types.json │ │ ├── schema │ │ ├── elements.json │ │ ├── serialisation.json │ │ └── types.json │ │ ├── schemaWithParents.json │ │ ├── store.properties │ │ ├── store2.properties │ │ └── suffixes.properties └── type │ ├── pom.xml │ └── src │ ├── main │ └── java │ │ └── uk │ │ └── gov │ │ └── gchq │ │ └── gaffer │ │ ├── serialisation │ │ ├── AvroSerialiser.java │ │ ├── CustomMapSerialiser.java │ │ ├── FreqMapSerialiser.java │ │ ├── TypeSubTypeValueSerialiser.java │ │ ├── TypeValueSerialiser.java │ │ └── package-info.java │ │ └── types │ │ ├── CustomMap.java │ │ ├── FreqMap.java │ │ ├── TypeSubTypeValue.java │ │ ├── TypeValue.java │ │ ├── binaryoperator │ │ └── CustomMapAggregator.java │ │ ├── function │ │ ├── FreqMapAggregator.java │ │ ├── FreqMapExtractor.java │ │ ├── FreqMapPredicator.java │ │ ├── IterableToFreqMap.java │ │ ├── StringsToTypeSubTypeValue.java │ │ ├── StringsToTypeValue.java │ │ ├── ToFreqMap.java │ │ ├── ToTypeSubTypeValue.java │ │ ├── ToTypeValue.java │ │ └── package-info.java │ │ └── package-info.java │ └── test │ ├── java │ └── uk │ │ └── gov │ │ └── gchq │ │ └── gaffer │ │ ├── serialisation │ │ ├── AvroSerialiserTest.java │ │ ├── CustomMapSerialiserTest.java │ │ ├── FreqMapSerialiserTest.java │ │ ├── TypeSubTypeValueSerialiserTest.java │ │ └── TypeValueSerialiserTest.java │ │ └── types │ │ ├── CustomMapTest.java │ │ ├── FreqMapTest.java │ │ ├── TypeSubTypeValueTest.java │ │ ├── TypeValueTest.java │ │ ├── binaryoperator │ │ └── CustomMapAggregatorTest.java │ │ └── function │ │ ├── FreqMapAggregatorTest.java │ │ ├── FreqMapPredicatorTest.java │ │ ├── IterableToFreqMapTest.java │ │ ├── StringsToTypeSubTypeValueTest.java │ │ ├── StringsToTypeValueTest.java │ │ ├── ToFreqMapTest.java │ │ ├── ToTypeSubTypeValueTest.java │ │ └── ToTypeValueTest.java │ └── resources │ ├── custom-map01.json │ ├── custom-map02.json │ ├── custom-map03.json │ └── log4j.xml ├── example ├── basic │ ├── README.md │ ├── basic-model │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ ├── java │ │ │ │ └── uk │ │ │ │ │ └── gov │ │ │ │ │ └── gchq │ │ │ │ │ └── gaffer │ │ │ │ │ └── basic │ │ │ │ │ └── ElementGroup.java │ │ │ └── resources │ │ │ │ └── schema │ │ │ │ ├── elements.json │ │ │ │ └── types.json │ │ │ └── test │ │ │ ├── java │ │ │ └── uk │ │ │ │ └── gov │ │ │ │ └── gchq │ │ │ │ └── gaffer │ │ │ │ └── basic │ │ │ │ └── SchemaIT.java │ │ │ └── resources │ │ │ ├── log4j.xml │ │ │ └── miniaccumulo.properties │ ├── basic-rest │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ ├── resources │ │ │ ├── graphConfig.json │ │ │ ├── log4j.xml │ │ │ └── map │ │ │ │ └── store.properties │ │ │ └── webapp │ │ │ ├── META-INF │ │ │ └── context.xml │ │ │ └── WEB-INF │ │ │ └── web.xml │ ├── pom.xml │ └── scripts │ │ └── start.sh ├── federated-demo │ ├── README.md │ ├── basic │ │ └── scripts │ │ │ ├── addElements.sh │ │ │ ├── addMapEdgesClashingGraph.sh │ │ │ ├── addMapEdgesGraph.sh │ │ │ ├── addMapEntitiesClashingGraph.sh │ │ │ ├── addMapEntitiesGraph.sh │ │ │ └── getAllGraphIds.sh │ ├── pom.xml │ ├── road-use │ │ ├── README.md │ │ ├── json │ │ │ ├── 0_getAllGraphIds.json │ │ │ ├── 1a_addRoadUseGraph.json │ │ │ ├── 1b_addRoadJunctionsGraph.json │ │ │ ├── 1c_getSchema.json │ │ │ ├── 2a_addElements.json │ │ │ ├── 3a_getElementsFromAllGraphs.json │ │ │ ├── 3b_getElementsFromRoadJunctions.json │ │ │ ├── 3c_hopBetweenGraphs.json │ │ │ ├── 4a_createIndexGraph.json │ │ │ ├── 4b_createIndex.json │ │ │ ├── 4c_getAllElementsFromIndex.json │ │ │ ├── 4d_getElementsFromIndex.json │ │ │ ├── 5a_opChain.json │ │ │ └── 6_removeGraphs.json │ │ └── scripts │ │ │ └── createGraphs.sh │ ├── scripts │ │ └── start.sh │ └── src │ │ └── main │ │ ├── java │ │ └── uk │ │ │ └── gov │ │ │ └── gchq │ │ │ └── gaffer │ │ │ └── federated │ │ │ ├── ElementGroup.java │ │ │ ├── IndexGenerator.java │ │ │ └── ToElementSeed.java │ │ ├── resources │ │ ├── federatedStore.properties │ │ ├── graphConfig.json │ │ ├── log4j.xml │ │ └── operationDeclarations.json │ │ └── webapp │ │ └── WEB-INF │ │ └── web.xml ├── pom.xml ├── real-federated-store │ ├── README.md │ ├── have-a-go-at-operations │ │ ├── README.md │ │ ├── curl-operation-examples │ │ │ ├── curl_add1BasicEdge.sh │ │ │ ├── curl_add1BasicEdge_alternative.sh │ │ │ ├── curl_addGraphForBasicEdges.sh │ │ │ ├── curl_addGraphForBasicEdges_alternative.sh │ │ │ ├── curl_getAllElements.sh │ │ │ ├── curl_getAllGraphIds.sh │ │ │ ├── curl_getSchema.sh │ │ │ ├── curl_getSchema_alternative.sh │ │ │ ├── curl_removeBasicEdgeGraph.sh │ │ │ └── curl_removeBasicEdgeGraph_alternative.sh │ │ └── json-operation-examples │ │ │ ├── operation_add1BasicEdge.json │ │ │ ├── operation_addGraphAccumuloBasicEdges.json │ │ │ ├── operation_addGraphMapBasicEdges.json │ │ │ ├── operation_getAllElements.json │ │ │ ├── operation_getAllGraphIds.json │ │ │ ├── operation_getSchema.json │ │ │ └── operation_removeBasicEdgeGraph.json │ └── startRealFederatedStore.sh └── road-traffic │ ├── README.md │ ├── pom.xml │ ├── road-traffic-demo │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── uk │ │ │ │ └── gov │ │ │ │ └── gchq │ │ │ │ └── gaffer │ │ │ │ └── traffic │ │ │ │ ├── DemoData.java │ │ │ │ └── Queries.java │ │ ├── resources │ │ │ ├── graphConfig.json │ │ │ ├── log4j.xml │ │ │ ├── map │ │ │ │ └── store.properties │ │ │ └── roadTrafficSampleData.csv │ │ └── webapp │ │ │ ├── META-INF │ │ │ └── context.xml │ │ │ └── WEB-INF │ │ │ └── web.xml │ │ └── test │ │ ├── java │ │ └── uk │ │ │ └── gov │ │ │ └── gchq │ │ │ └── gaffer │ │ │ └── graph │ │ │ └── GraphConfigTest.java │ │ └── resources │ │ └── log4j.xml │ ├── road-traffic-generators │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── uk │ │ │ └── gov │ │ │ └── gchq │ │ │ └── gaffer │ │ │ └── traffic │ │ │ └── generator │ │ │ ├── RoadTrafficCsvElementGenerator.java │ │ │ ├── RoadTrafficDataField.java │ │ │ ├── RoadTrafficDataLoader.java │ │ │ ├── RoadTrafficElementGenerator.java │ │ │ └── RoadTrafficStringElementGenerator.java │ │ └── test │ │ ├── java │ │ └── uk │ │ │ └── gov │ │ │ └── gchq │ │ │ └── gaffer │ │ │ └── traffic │ │ │ └── generator │ │ │ ├── RoadTrafficCsvElementGenerator2Test.java │ │ │ ├── RoadTrafficCsvElementGeneratorTest.java │ │ │ ├── RoadTrafficDataLoaderITs.java │ │ │ └── RoadTrafficStringElementGeneratorTest.java │ │ └── resources │ │ ├── log4j.xml │ │ ├── miniaccumulo.properties │ │ └── roadTrafficSampleData.csv │ ├── road-traffic-model │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── uk │ │ │ │ └── gov │ │ │ │ └── gchq │ │ │ │ └── gaffer │ │ │ │ └── traffic │ │ │ │ ├── ElementGroup.java │ │ │ │ └── transform │ │ │ │ └── DescriptionTransform.java │ │ └── resources │ │ │ └── schema │ │ │ ├── elements.json │ │ │ └── types.json │ │ └── test │ │ ├── java │ │ └── uk │ │ │ └── gov │ │ │ └── gchq │ │ │ └── gaffer │ │ │ └── traffic │ │ │ └── SchemaIT.java │ │ └── resources │ │ ├── log4j.xml │ │ └── store.properties │ ├── road-traffic-rest │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── uk │ │ │ │ └── gov │ │ │ │ └── gchq │ │ │ │ └── gaffer │ │ │ │ └── traffic │ │ │ │ └── listeners │ │ │ │ ├── ConsoleBanner.java │ │ │ │ └── DataLoader.java │ │ ├── resources │ │ │ ├── ExportToOtherAuthorisedGraphOperationDeclarations.json │ │ │ ├── ResultCacheExportOperations.json │ │ │ ├── cache-store.properties │ │ │ └── log4j.xml │ │ └── webapp │ │ │ ├── META-INF │ │ │ └── context.xml │ │ │ └── WEB-INF │ │ │ └── web.xml │ │ └── test │ │ ├── java │ │ └── uk │ │ │ └── gov │ │ │ └── gchq │ │ │ └── gaffer │ │ │ └── traffic │ │ │ ├── RoadTrafficRestApiITs.java │ │ │ ├── RoadTrafficRestApiSTs.java │ │ │ └── RoadTrafficTestQueries.java │ │ └── resources │ │ ├── accumulo │ │ └── store.properties │ │ ├── graphConfig.json │ │ ├── log4j.xml │ │ └── map │ │ └── store.properties │ └── scripts │ └── start.sh ├── findbugs-exclude.xml ├── integration-test ├── README.md ├── pom.xml └── src │ ├── main │ └── java │ │ └── uk │ │ └── gov │ │ └── gchq │ │ └── gaffer │ │ └── integration │ │ └── junit │ │ └── extensions │ │ ├── InjectedFromStoreITsSuite.java │ │ ├── IntegrationTestSuite.java │ │ └── IntegrationTestSuiteExtension.java │ └── test │ ├── java │ └── uk │ │ └── gov │ │ └── gchq │ │ └── gaffer │ │ └── integration │ │ ├── AbstractStoreIT.java │ │ ├── AbstractStoreITs.java │ │ ├── StandaloneIT.java │ │ ├── TraitRequirement.java │ │ ├── VisibilityUser.java │ │ ├── domain │ │ ├── DomainObject.java │ │ ├── EdgeDomainObject.java │ │ └── EntityDomainObject.java │ │ ├── generators │ │ ├── BasicEdgeGenerator.java │ │ ├── BasicElementGenerator.java │ │ ├── BasicEntityGenerator.java │ │ ├── BasicObjectGenerator.java │ │ ├── EdgeToObjectGenerator.java │ │ └── EntityToObjectGenerator.java │ │ ├── impl │ │ ├── AggregationIT.java │ │ ├── CountGroupsIT.java │ │ ├── ExportIT.java │ │ ├── FilteringIT.java │ │ ├── ForEachIT.java │ │ ├── GeneratorsIT.java │ │ ├── GetAdjacentIdsIT.java │ │ ├── GetAllElementsIT.java │ │ ├── GetElementsIT.java │ │ ├── GetWalksIT.java │ │ ├── GraphHooksIT.java │ │ ├── IfIT.java │ │ ├── ImportExportCsvIT.java │ │ ├── JoinIT.java │ │ ├── NoAggregationIT.java │ │ ├── PartAggregationIT.java │ │ ├── SchemaMigrationIT.java │ │ ├── StoreValidationIT.java │ │ ├── TransformationIT.java │ │ ├── VisibilityIT.java │ │ ├── WhileIT.java │ │ └── loader │ │ │ ├── AbstractLoaderIT.java │ │ │ ├── AddElementsLoaderIT.java │ │ │ ├── UserLoaderIT.java │ │ │ └── schemas │ │ │ ├── AggregationSchemaLoader.java │ │ │ ├── BasicSchemaLoader.java │ │ │ ├── FullSchemaLoader.java │ │ │ ├── SchemaLoader.java │ │ │ └── VisibilitySchemaLoader.java │ │ └── junit │ │ └── extensions │ │ ├── AbstractTestSuite.java │ │ └── IntegrationTestSuiteExtensionTest.java │ └── resources │ ├── NeptuneEntitiesAndEdgesWithProperties.csv │ ├── getWalksWithPruningDeclaration.json │ ├── log4j.xml │ └── migrations.json ├── library ├── bitmap-library │ ├── README.md │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── uk │ │ │ └── gov │ │ │ └── gchq │ │ │ └── gaffer │ │ │ └── bitmap │ │ │ ├── function │ │ │ └── aggregate │ │ │ │ ├── RoaringBitmapAggregator.java │ │ │ │ └── package-info.java │ │ │ └── serialisation │ │ │ ├── RoaringBitmapSerialiser.java │ │ │ ├── json │ │ │ ├── BitmapJsonModules.java │ │ │ ├── RoaringBitmapConstants.java │ │ │ ├── RoaringBitmapJsonDeserialiser.java │ │ │ ├── RoaringBitmapJsonSerialiser.java │ │ │ └── package-info.java │ │ │ ├── package-info.java │ │ │ └── utils │ │ │ ├── RoaringBitmapUtils.java │ │ │ └── package-info.java │ │ └── test │ │ ├── java │ │ └── uk │ │ │ └── gov │ │ │ └── gchq │ │ │ └── gaffer │ │ │ └── bitmap │ │ │ ├── function │ │ │ └── aggregate │ │ │ │ └── RoaringBitmapAggregatorTest.java │ │ │ └── serialisation │ │ │ ├── RoaringBitmapSerialiserTest.java │ │ │ └── json │ │ │ └── RoaringBitmapJsonSerialisationTest.java │ │ └── resources │ │ └── log4j.xml ├── cache-library │ ├── hazelcast-cache-service │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── uk │ │ │ │ └── gov │ │ │ │ └── gchq │ │ │ │ └── gaffer │ │ │ │ └── cache │ │ │ │ └── impl │ │ │ │ ├── HazelcastCache.java │ │ │ │ ├── HazelcastCacheService.java │ │ │ │ └── package-info.java │ │ │ └── test │ │ │ ├── java │ │ │ └── uk │ │ │ │ └── gov │ │ │ │ └── gchq │ │ │ │ └── gaffer │ │ │ │ └── cache │ │ │ │ └── impl │ │ │ │ ├── HazelcastCacheServiceTest.java │ │ │ │ └── HazelcastCacheTest.java │ │ │ └── resources │ │ │ ├── hazelcast.xml │ │ │ └── log4j.xml │ ├── jcs-cache-service │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ ├── java │ │ │ │ └── uk │ │ │ │ │ └── gov │ │ │ │ │ └── gchq │ │ │ │ │ └── gaffer │ │ │ │ │ └── cache │ │ │ │ │ └── impl │ │ │ │ │ ├── JcsCache.java │ │ │ │ │ ├── JcsCacheService.java │ │ │ │ │ └── package-info.java │ │ │ └── resources │ │ │ │ └── cache.ccf │ │ │ └── test │ │ │ ├── java │ │ │ └── uk │ │ │ │ └── gov │ │ │ │ └── gchq │ │ │ │ └── gaffer │ │ │ │ └── cache │ │ │ │ └── impl │ │ │ │ ├── JcsCacheServiceTest.java │ │ │ │ ├── JcsCacheTest.java │ │ │ │ └── JcsDistributedCacheTest.java │ │ │ └── resources │ │ │ ├── cache.ccf │ │ │ ├── distributed.ccf │ │ │ └── log4j.xml │ └── pom.xml ├── flink-library │ ├── README.md │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── uk │ │ │ │ └── gov │ │ │ │ └── gchq │ │ │ │ └── gaffer │ │ │ │ └── flink │ │ │ │ └── operation │ │ │ │ └── handler │ │ │ │ ├── AddElementsFromFileHandler.java │ │ │ │ ├── AddElementsFromKafkaHandler.java │ │ │ │ ├── AddElementsFromSocketHandler.java │ │ │ │ ├── GafferAdder.java │ │ │ │ ├── GafferMapFunction.java │ │ │ │ ├── GafferOutput.java │ │ │ │ ├── GafferSink.java │ │ │ │ ├── package-info.java │ │ │ │ ├── serialisation │ │ │ │ └── ByteArraySchema.java │ │ │ │ └── util │ │ │ │ └── FlinkConstants.java │ │ └── resources │ │ │ └── FlinkOperationDeclarations.json │ │ └── test │ │ ├── java │ │ └── uk │ │ │ └── gov │ │ │ └── gchq │ │ │ └── gaffer │ │ │ └── flink │ │ │ ├── integration │ │ │ └── operation │ │ │ │ └── handler │ │ │ │ ├── AddElementsFromFileHandlerIT.java │ │ │ │ ├── AddElementsFromKafkaHandlerIT.java │ │ │ │ └── AddElementsFromSocketHandlerIT.java │ │ │ └── operation │ │ │ ├── ElementFileStore.java │ │ │ ├── FlinkTest.java │ │ │ ├── TestFileOutput.java │ │ │ ├── TestFileSink.java │ │ │ └── handler │ │ │ ├── AddElementsFromKafkaDemo.java │ │ │ ├── CsvToElement.java │ │ │ ├── GafferAdderTest.java │ │ │ ├── GafferMapFunctionTest.java │ │ │ ├── GafferOutputTest.java │ │ │ └── GafferSinkTest.java │ │ └── resources │ │ ├── log4j.xml │ │ ├── schema │ │ ├── elements.json │ │ └── types.json │ │ └── store.properties ├── hdfs-library │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── uk │ │ │ └── gov │ │ │ └── gchq │ │ │ └── gaffer │ │ │ └── hdfs │ │ │ └── operation │ │ │ ├── AddElementsFromHdfs.java │ │ │ ├── MapReduce.java │ │ │ ├── SampleDataForSplitPoints.java │ │ │ ├── handler │ │ │ ├── HdfsSplitStoreFromFileHandler.java │ │ │ └── job │ │ │ │ ├── factory │ │ │ │ ├── AddElementsFromHdfsJobFactory.java │ │ │ │ ├── JobFactory.java │ │ │ │ ├── SampleDataForSplitPointsJobFactory.java │ │ │ │ └── package-info.java │ │ │ │ ├── initialiser │ │ │ │ ├── AvroJobInitialiser.java │ │ │ │ ├── JobInitialiser.java │ │ │ │ ├── TextJobInitialiser.java │ │ │ │ └── package-info.java │ │ │ │ └── tool │ │ │ │ ├── AddElementsFromHdfsTool.java │ │ │ │ ├── SampleDataAndCreateSplitsFileTool.java │ │ │ │ └── package-info.java │ │ │ ├── mapper │ │ │ ├── GafferMapper.java │ │ │ ├── generator │ │ │ │ ├── AvroMapperGenerator.java │ │ │ │ ├── JsonMapperGenerator.java │ │ │ │ ├── MapperGenerator.java │ │ │ │ ├── TextMapperGenerator.java │ │ │ │ └── package-info.java │ │ │ └── package-info.java │ │ │ ├── package-info.java │ │ │ ├── partitioner │ │ │ └── NoPartitioner.java │ │ │ └── reducer │ │ │ └── GafferReducer.java │ │ └── test │ │ ├── java │ │ └── uk │ │ │ └── gov │ │ │ └── gchq │ │ │ └── gaffer │ │ │ └── hdfs │ │ │ ├── integration │ │ │ └── loader │ │ │ │ └── AddElementsFromHdfsLoaderIT.java │ │ │ └── operation │ │ │ ├── AddElementsFromHdfsTest.java │ │ │ ├── hander │ │ │ └── job │ │ │ │ └── factory │ │ │ │ └── AbstractJobFactoryTest.java │ │ │ └── mapper │ │ │ └── AbstractGafferMapperTest.java │ │ └── resources │ │ └── log4j.xml ├── pom.xml ├── sketches-library │ ├── README.md │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── uk │ │ │ └── gov │ │ │ └── gchq │ │ │ └── gaffer │ │ │ └── sketches │ │ │ ├── CardinalityEntityGenerator.java │ │ │ ├── clearspring │ │ │ └── cardinality │ │ │ │ ├── HyperLogLogPlusEntityGenerator.java │ │ │ │ ├── binaryoperator │ │ │ │ ├── HyperLogLogPlusAggregator.java │ │ │ │ └── package-info.java │ │ │ │ ├── function │ │ │ │ ├── IterableToHyperLogLogPlus.java │ │ │ │ └── ToHyperLogLogPlus.java │ │ │ │ ├── predicate │ │ │ │ ├── HyperLogLogPlusIsLessThan.java │ │ │ │ └── package-info.java │ │ │ │ └── serialisation │ │ │ │ ├── HyperLogLogPlusSerialiser.java │ │ │ │ ├── json │ │ │ │ ├── HyperLogLogPlusJsonConstants.java │ │ │ │ ├── HyperLogLogPlusJsonDeserialiser.java │ │ │ │ ├── HyperLogLogPlusJsonSerialiser.java │ │ │ │ ├── HyperLogLogPlusWithOffers.java │ │ │ │ └── package-info.java │ │ │ │ └── package-info.java │ │ │ ├── datasketches │ │ │ ├── cardinality │ │ │ │ ├── HllSketchEntityGenerator.java │ │ │ │ ├── binaryoperator │ │ │ │ │ ├── HllSketchAggregator.java │ │ │ │ │ ├── HllUnionAggregator.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── function │ │ │ │ │ ├── IterableToHllSketch.java │ │ │ │ │ └── ToHllSketch.java │ │ │ │ ├── predicate │ │ │ │ │ ├── HllSketchIsLessThan.java │ │ │ │ │ └── package-info.java │ │ │ │ └── serialisation │ │ │ │ │ ├── HllSketchSerialiser.java │ │ │ │ │ ├── HllUnionSerialiser.java │ │ │ │ │ ├── json │ │ │ │ │ ├── HllSketchJsonConstants.java │ │ │ │ │ ├── HllSketchJsonDeserialiser.java │ │ │ │ │ ├── HllSketchJsonSerialiser.java │ │ │ │ │ ├── HllSketchWithValues.java │ │ │ │ │ └── package-info.java │ │ │ │ │ └── package-info.java │ │ │ ├── frequencies │ │ │ │ ├── binaryoperator │ │ │ │ │ ├── LongsSketchAggregator.java │ │ │ │ │ ├── StringsSketchAggregator.java │ │ │ │ │ └── package-info.java │ │ │ │ └── serialisation │ │ │ │ │ ├── LongsSketchSerialiser.java │ │ │ │ │ ├── StringsSketchSerialiser.java │ │ │ │ │ └── package-info.java │ │ │ ├── quantiles │ │ │ │ ├── binaryoperator │ │ │ │ │ ├── DoublesSketchAggregator.java │ │ │ │ │ ├── DoublesUnionAggregator.java │ │ │ │ │ ├── KllFloatsSketchAggregator.java │ │ │ │ │ ├── StringsSketchAggregator.java │ │ │ │ │ ├── StringsUnionAggregator.java │ │ │ │ │ └── package-info.java │ │ │ │ └── serialisation │ │ │ │ │ ├── DoublesSketchSerialiser.java │ │ │ │ │ ├── DoublesUnionSerialiser.java │ │ │ │ │ ├── KllFloatsSketchSerialiser.java │ │ │ │ │ ├── StringsSketchSerialiser.java │ │ │ │ │ ├── StringsUnionSerialiser.java │ │ │ │ │ └── package-info.java │ │ │ ├── sampling │ │ │ │ ├── binaryoperator │ │ │ │ │ ├── ReservoirItemsSketchAggregator.java │ │ │ │ │ ├── ReservoirItemsUnionAggregator.java │ │ │ │ │ ├── ReservoirLongsSketchAggregator.java │ │ │ │ │ ├── ReservoirLongsUnionAggregator.java │ │ │ │ │ └── package-info.java │ │ │ │ └── serialisation │ │ │ │ │ ├── ReservoirItemsSketchSerialiser.java │ │ │ │ │ ├── ReservoirLongsSketchSerialiser.java │ │ │ │ │ ├── ReservoirLongsUnionSerialiser.java │ │ │ │ │ ├── ReservoirNumbersSketchSerialiser.java │ │ │ │ │ ├── ReservoirNumbersUnionSerialiser.java │ │ │ │ │ ├── ReservoirStringsSketchSerialiser.java │ │ │ │ │ ├── ReservoirStringsUnionSerialiser.java │ │ │ │ │ └── package-info.java │ │ │ └── theta │ │ │ │ ├── binaryoperator │ │ │ │ ├── SketchAggregator.java │ │ │ │ ├── UnionAggregator.java │ │ │ │ └── package-info.java │ │ │ │ └── serialisation │ │ │ │ ├── SketchSerialiser.java │ │ │ │ ├── UnionSerialiser.java │ │ │ │ └── package-info.java │ │ │ └── serialisation │ │ │ └── json │ │ │ ├── SketchesJsonModules.java │ │ │ └── package-info.java │ │ └── test │ │ ├── java │ │ └── uk │ │ │ └── gov │ │ │ └── gchq │ │ │ └── gaffer │ │ │ └── sketches │ │ │ ├── clearspring │ │ │ └── cardinality │ │ │ │ ├── HyperLogLogPlusEntityGeneratorTest.java │ │ │ │ ├── binaryoperator │ │ │ │ └── HyperLogLogPlusAggregatorTest.java │ │ │ │ ├── function │ │ │ │ ├── IterableToHyperLogLogPlusTest.java │ │ │ │ └── ToHyperLogLogPlusTest.java │ │ │ │ ├── predicate │ │ │ │ └── HyperLogLogPlusIsLessThanTest.java │ │ │ │ └── serialisation │ │ │ │ ├── HyperLogLogPlusSerialiserTest.java │ │ │ │ ├── ViaCalculatedArrayValueSerialiserTest.java │ │ │ │ ├── ViaCalculatedValueSerialiserTest.java │ │ │ │ └── json │ │ │ │ ├── HyperLogLogPlusJsonDeserialiserTest.java │ │ │ │ └── HyperLogLogPlusJsonSerialisationTest.java │ │ │ └── datasketches │ │ │ ├── cardinality │ │ │ ├── HllSketchEntityGeneratorTest.java │ │ │ ├── binaryoperator │ │ │ │ ├── HllSketchAggregatorTest.java │ │ │ │ └── HllUnionAggregatorTest.java │ │ │ ├── function │ │ │ │ ├── IterableToHllSketchTest.java │ │ │ │ └── ToHllSketchTest.java │ │ │ ├── predicate │ │ │ │ └── HllSketchIsLessThanTest.java │ │ │ └── serialisation │ │ │ │ ├── HllSketchSerialiserTest.java │ │ │ │ ├── HllUnionSerialiserTest.java │ │ │ │ └── json │ │ │ │ ├── HllSketchJsonDeserialiserTest.java │ │ │ │ └── HllSketchJsonSerialisationTest.java │ │ │ ├── frequencies │ │ │ ├── binaryoperator │ │ │ │ ├── LongsSketchAggregatorTest.java │ │ │ │ └── StringsSketchAggregatorTest.java │ │ │ └── serialisation │ │ │ │ ├── LongsSketchSerialiserTest.java │ │ │ │ └── StringsSketchSerialiserTest.java │ │ │ ├── quantiles │ │ │ ├── binaryoperator │ │ │ │ ├── DoublesSketchAggregatorTest.java │ │ │ │ ├── DoublesUnionAggregatorTest.java │ │ │ │ ├── KllFloatsSketchAggregatorTest.java │ │ │ │ ├── StringsSketchAggregatorTest.java │ │ │ │ └── StringsUnionAggregatorTest.java │ │ │ └── serialisation │ │ │ │ ├── DoublesSketchSerialiserTest.java │ │ │ │ ├── DoublesUnionSerialiserTest.java │ │ │ │ ├── KllFloatsSketchSerialiserTest.java │ │ │ │ ├── StringsSketchSerialiserTest.java │ │ │ │ └── StringsUnionSerialiserTest.java │ │ │ ├── sampling │ │ │ ├── binaryoperator │ │ │ │ ├── ReservoirItemsSketchAggregatorTest.java │ │ │ │ ├── ReservoirItemsUnionAggregatorTest.java │ │ │ │ ├── ReservoirLongUnionAggregatorTest.java │ │ │ │ └── ReservoirLongsSketchAggregatorTest.java │ │ │ └── serialisation │ │ │ │ ├── ReservoirLongsSketchSerialiserTest.java │ │ │ │ ├── ReservoirLongsUnionSerialiserTest.java │ │ │ │ ├── ReservoirNumbersSketchSerialiserTest.java │ │ │ │ ├── ReservoirNumbersUnionSerialiserTest.java │ │ │ │ ├── ReservoirStringsSketchSerialiserTest.java │ │ │ │ └── ReservoirStringsUnionSerialiserTest.java │ │ │ └── theta │ │ │ ├── binaryoperator │ │ │ ├── SketchAggregatorTest.java │ │ │ └── UnionAggregatorTest.java │ │ │ └── serialisation │ │ │ ├── SketchSerialiserTest.java │ │ │ └── UnionSerialiserTest.java │ │ └── resources │ │ └── log4j.xml ├── spark │ ├── README.md │ ├── pom.xml │ ├── spark-accumulo-library │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ ├── java │ │ │ │ └── uk │ │ │ │ │ └── gov │ │ │ │ │ └── gchq │ │ │ │ │ └── gaffer │ │ │ │ │ └── sparkaccumulo │ │ │ │ │ └── operation │ │ │ │ │ ├── handler │ │ │ │ │ ├── AbstractGetRDDHandler.java │ │ │ │ │ ├── AbstractImportKeyValuePairRDDToAccumuloHandler.java │ │ │ │ │ ├── AbstractSplitStoreFromRDDOfElementsHandler.java │ │ │ │ │ ├── dataframe │ │ │ │ │ │ ├── AccumuloStoreRelation.java │ │ │ │ │ │ ├── GetDataFrameOfElementsHandler.java │ │ │ │ │ │ └── package-info.java │ │ │ │ │ ├── javardd │ │ │ │ │ │ ├── GetJavaRDDOfAllElementsHandler.java │ │ │ │ │ │ ├── GetJavaRDDOfElementsHandler.java │ │ │ │ │ │ ├── GetJavaRDDOfElementsInRangesHandler.java │ │ │ │ │ │ ├── ImportJavaRDDOfElementsHandler.java │ │ │ │ │ │ ├── ImportKeyValueJavaPairRDDToAccumuloHandler.java │ │ │ │ │ │ ├── SplitStoreFromJavaRDDOfElementsHandler.java │ │ │ │ │ │ └── package-info.java │ │ │ │ │ ├── package-info.java │ │ │ │ │ └── scalardd │ │ │ │ │ │ ├── GetRDDOfAllElementsHandler.java │ │ │ │ │ │ ├── GetRDDOfElementsHandler.java │ │ │ │ │ │ ├── GetRDDOfElementsInRangesHandler.java │ │ │ │ │ │ ├── ImportKeyValuePairRDDToAccumuloHandler.java │ │ │ │ │ │ ├── ImportRDDOfElementsHandler.java │ │ │ │ │ │ ├── SplitStoreFromRDDOfElementsHandler.java │ │ │ │ │ │ └── package-info.java │ │ │ │ │ ├── javardd │ │ │ │ │ ├── GetJavaRDDOfElementsInRanges.java │ │ │ │ │ ├── ImportKeyValueJavaPairRDDToAccumulo.java │ │ │ │ │ └── package-info.java │ │ │ │ │ ├── package-info.java │ │ │ │ │ ├── rfilereaderrdd │ │ │ │ │ ├── AccumuloTablet.java │ │ │ │ │ ├── RFileReaderIterator.java │ │ │ │ │ ├── RFileReaderRDD.java │ │ │ │ │ ├── Utils.java │ │ │ │ │ └── package-info.java │ │ │ │ │ ├── scalardd │ │ │ │ │ ├── GetRDDOfElementsInRanges.java │ │ │ │ │ ├── ImportKeyValuePairRDDToAccumulo.java │ │ │ │ │ └── package-info.java │ │ │ │ │ └── utils │ │ │ │ │ ├── AccumuloKeyRangePartitioner.java │ │ │ │ │ ├── java │ │ │ │ │ ├── ElementConverterFunction.java │ │ │ │ │ └── package-info.java │ │ │ │ │ ├── package-info.java │ │ │ │ │ └── scala │ │ │ │ │ ├── ElementConverterFunction.java │ │ │ │ │ └── package-info.java │ │ │ └── resources │ │ │ │ └── sparkAccumuloOperationsDeclarations.json │ │ │ └── test │ │ │ ├── java │ │ │ └── uk │ │ │ │ └── gov │ │ │ │ └── gchq │ │ │ │ └── gaffer │ │ │ │ └── sparkaccumulo │ │ │ │ ├── SparkOperationDeclarationsTest.java │ │ │ │ ├── generator │ │ │ │ └── RowToElementGeneratorTest.java │ │ │ │ ├── integration │ │ │ │ ├── delete │ │ │ │ │ ├── GetDataFrameOfElementsDeletedElementsIT.java │ │ │ │ │ ├── GetJavaRDDOfElementsDeletedElementsIT.java │ │ │ │ │ └── GetRDDOfElementsDeletedElementsIT.java │ │ │ │ ├── operation │ │ │ │ │ └── handler │ │ │ │ │ │ ├── javaardd │ │ │ │ │ │ └── SplitStoreFromJavaRDDOfElementsHandlerIT.java │ │ │ │ │ │ └── scalardd │ │ │ │ │ │ ├── GetRDDOfAllElementsHandlerIT.java │ │ │ │ │ │ └── SplitStoreFromRDDOfElementsHandlerIT.java │ │ │ │ └── rfilereaderrdd │ │ │ │ │ └── RFileReaderRddIT.java │ │ │ │ └── operation │ │ │ │ ├── handler │ │ │ │ ├── AbstractGetRDDHandlerTest.java │ │ │ │ ├── MiniAccumuloClusterProvider.java │ │ │ │ ├── dataframe │ │ │ │ │ ├── AccumuloStoreRelationTest.java │ │ │ │ │ ├── GetDataFrameOfElementsHandlerTest.java │ │ │ │ │ ├── MyProperty.java │ │ │ │ │ └── MyPropertySerialiser.java │ │ │ │ ├── graphframe │ │ │ │ │ └── GetGraphFrameOfElementsHandlerTest.java │ │ │ │ ├── javardd │ │ │ │ │ ├── GetJavaRDDOfAllElementsHandlerTest.java │ │ │ │ │ ├── GetJavaRDDOfElementsHandlerTest.java │ │ │ │ │ ├── GetJavaRDDOfElementsInRangesHandlerTest.java │ │ │ │ │ ├── ImportJavaRDDOfElementsHandlerTest.java │ │ │ │ │ ├── ImportKeyValueJavaPairRDDToAccumuloHandlerTest.java │ │ │ │ │ └── SplitStoreFromJavaRDDOfElementsHandlerTest.java │ │ │ │ └── scalardd │ │ │ │ │ ├── GetRDDOfElementsHandlerTest.java │ │ │ │ │ ├── GetRDDOfElementsInRangesHandlerTest.java │ │ │ │ │ ├── ImportKeyValuePairRDDToAccumuloHandlerTest.java │ │ │ │ │ ├── ImportRDDOfElementsHandlerTest.java │ │ │ │ │ └── SplitStoreFromRDDOfElementsHandlerTest.java │ │ │ │ ├── javardd │ │ │ │ └── GetJavaRDDOfElementsInRangesTest.java │ │ │ │ ├── rfilereaderrdd │ │ │ │ ├── AccumuloTabletTest.java │ │ │ │ └── RFileReaderIteratorTest.java │ │ │ │ ├── scalardd │ │ │ │ └── GetRDDOfElementsInRangesTest.java │ │ │ │ └── utils │ │ │ │ └── AccumuloKeyRangePartitionerTest.java │ │ │ └── resources │ │ │ ├── accumuloStoreClassicKeys.properties │ │ │ ├── log4j.xml │ │ │ ├── schema-DataFrame │ │ │ ├── elements.json │ │ │ ├── elementsIncompatible.json │ │ │ ├── elementsNonstandardTypes.json │ │ │ ├── elementsUserDefinedConversion.json │ │ │ ├── serialisation.json │ │ │ └── types.json │ │ │ ├── schema-GraphFrame │ │ │ ├── elements.json │ │ │ ├── elementsComplex.json │ │ │ ├── elementsIncompatible.json │ │ │ ├── elementsNonstandardTypes.json │ │ │ ├── elementsUserDefinedConversion.json │ │ │ ├── elementsWithVertexProperty.json │ │ │ ├── serialisation.json │ │ │ └── types.json │ │ │ ├── schema-RDDSplitPointIntegrationTests │ │ │ ├── elements.json │ │ │ └── types.json │ │ │ ├── schema │ │ │ ├── elements.json │ │ │ ├── elementsForAggregationChecking.json │ │ │ ├── elementsForValidationChecking.json │ │ │ ├── elementsWithVisibility.json │ │ │ ├── serialisation.json │ │ │ ├── types.json │ │ │ └── typesForValidationChecking.json │ │ │ ├── store.properties │ │ │ └── view.json │ └── spark-library │ │ ├── pom.xml │ │ └── src │ │ ├── main │ │ └── java │ │ │ └── uk │ │ │ └── gov │ │ │ └── gchq │ │ │ └── gaffer │ │ │ └── spark │ │ │ ├── SparkConstants.java │ │ │ ├── SparkContextUtil.java │ │ │ ├── data │ │ │ └── generator │ │ │ │ ├── RowToElementGenerator.java │ │ │ │ └── package-info.java │ │ │ ├── function │ │ │ ├── DataFrameToIterableRow.java │ │ │ ├── GraphFrameToIterableRow.java │ │ │ └── package-info.java │ │ │ ├── operation │ │ │ ├── dataframe │ │ │ │ ├── ClassTagConstants.java │ │ │ │ ├── ConvertElementToRow.java │ │ │ │ ├── FiltersToOperationConverter.java │ │ │ │ ├── GetDataFrameOfElements.java │ │ │ │ ├── converter │ │ │ │ │ ├── exception │ │ │ │ │ │ ├── ConversionException.java │ │ │ │ │ │ └── package-info.java │ │ │ │ │ ├── property │ │ │ │ │ │ ├── Converter.java │ │ │ │ │ │ ├── impl │ │ │ │ │ │ │ ├── FreqMapConverter.java │ │ │ │ │ │ │ ├── HyperLogLogPlusConverter.java │ │ │ │ │ │ │ ├── datasketches │ │ │ │ │ │ │ │ └── theta │ │ │ │ │ │ │ │ │ ├── UnionConverter.java │ │ │ │ │ │ │ │ │ └── package-info.java │ │ │ │ │ │ │ └── package-info.java │ │ │ │ │ │ └── package-info.java │ │ │ │ │ └── schema │ │ │ │ │ │ ├── SchemaToStructTypeConverter.java │ │ │ │ │ │ └── package-info.java │ │ │ │ └── package-info.java │ │ │ ├── graphframe │ │ │ │ ├── GetGraphFrameOfElements.java │ │ │ │ └── package-info.java │ │ │ ├── handler │ │ │ │ └── graphframe │ │ │ │ │ └── GetGraphFrameOfElementsHandler.java │ │ │ ├── javardd │ │ │ │ ├── GetJavaRDDOfAllElements.java │ │ │ │ ├── GetJavaRDDOfElements.java │ │ │ │ ├── ImportJavaRDDOfElements.java │ │ │ │ ├── SplitStoreFromJavaRDDOfElements.java │ │ │ │ └── package-info.java │ │ │ ├── package-info.java │ │ │ └── scalardd │ │ │ │ ├── GetRDDOfAllElements.java │ │ │ │ ├── GetRDDOfElements.java │ │ │ │ ├── ImportRDDOfElements.java │ │ │ │ ├── SplitStoreFromRDDOfElements.java │ │ │ │ └── package-info.java │ │ │ ├── package-info.java │ │ │ ├── serialisation │ │ │ ├── TypeReferenceSparkImpl.java │ │ │ └── kryo │ │ │ │ ├── Registrator.java │ │ │ │ ├── WrappedKryoSerializer.java │ │ │ │ └── impl │ │ │ │ ├── EdgeKryoSerializer.java │ │ │ │ ├── EntityKryoSerializer.java │ │ │ │ ├── FreqMapKryoSerializer.java │ │ │ │ ├── HyperLogLogPlusKryoSerializer.java │ │ │ │ ├── TypeSubTypeValueKryoSerializer.java │ │ │ │ ├── TypeValueKryoSerializer.java │ │ │ │ └── datasketches │ │ │ │ ├── cardinality │ │ │ │ ├── HllSketchKryoSerializer.java │ │ │ │ └── HllUnionKryoSerializer.java │ │ │ │ ├── frequencies │ │ │ │ ├── LongsSketchKryoSerializer.java │ │ │ │ └── StringsSketchKryoSerializer.java │ │ │ │ ├── quantiles │ │ │ │ ├── StringsSketchKryoSerializer.java │ │ │ │ └── StringsUnionKryoSerializer.java │ │ │ │ └── sampling │ │ │ │ ├── ReservoirLongsSketchKryoSerializer.java │ │ │ │ └── ReservoirLongsUnionKryoSerializer.java │ │ │ └── utils │ │ │ ├── package-info.java │ │ │ └── scala │ │ │ ├── DataFrameUtil.java │ │ │ └── package-info.java │ │ └── test │ │ ├── java │ │ └── uk │ │ │ └── gov │ │ │ └── gchq │ │ │ └── gaffer │ │ │ └── spark │ │ │ ├── SparkSessionProvider.java │ │ │ ├── function │ │ │ ├── DataFrameToIterableRowTest.java │ │ │ └── GraphFrameToIterableRowTest.java │ │ │ ├── operation │ │ │ ├── dataframe │ │ │ │ ├── FilterToOperationConverterTest.java │ │ │ │ └── converter │ │ │ │ │ └── property │ │ │ │ │ └── impl │ │ │ │ │ ├── FreqMapConverterTest.java │ │ │ │ │ ├── HyperLogLogPlusConverterTest.java │ │ │ │ │ └── datasketches │ │ │ │ │ └── theta │ │ │ │ │ └── UnionConverterTest.java │ │ │ └── graphframe │ │ │ │ └── GetGraphFrameOfElementsTest.java │ │ │ └── serialisation │ │ │ └── kryo │ │ │ ├── KryoSerializerTest.java │ │ │ ├── RegistratorTest.java │ │ │ └── impl │ │ │ ├── EdgeKryoSerializerTest.java │ │ │ ├── EntityKryoSerializerTest.java │ │ │ ├── FreqMapKryoSerializerTest.java │ │ │ ├── HyperLogLogPlusKryoSerializerTest.java │ │ │ ├── TypeSubTypeValueKryoSerializerTest.java │ │ │ ├── TypeValueKryoSerializerTest.java │ │ │ └── datasketches │ │ │ ├── cardinality │ │ │ ├── HllSketchKryoSerializerTest.java │ │ │ └── HllUnionKryoSerializerTest.java │ │ │ ├── frequencies │ │ │ ├── LongsSketchKryoSerializerTest.java │ │ │ └── StringsSketchKryoSerializerTest.java │ │ │ ├── quantiles │ │ │ ├── StringsSketchKryoSerializerTest.java │ │ │ └── StringsUnionKryoSerializerTest.java │ │ │ └── sampling │ │ │ ├── ReservoirLongsSketchKryoSerializerTest.java │ │ │ └── ReservoirLongsUnionKryoSerializerTest.java │ │ └── resources │ │ ├── log4j.xml │ │ └── schema │ │ ├── elements.json │ │ └── types.json ├── time-library │ ├── README.md │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── uk │ │ │ └── gov │ │ │ └── gchq │ │ │ └── gaffer │ │ │ └── time │ │ │ ├── BoundedTimestampSet.java │ │ │ ├── CommonTimeUtil.java │ │ │ ├── LongTimeSeries.java │ │ │ ├── RBMBackedTimestampSet.java │ │ │ ├── TimeSeries.java │ │ │ ├── TimestampSet.java │ │ │ ├── binaryoperator │ │ │ ├── BoundedTimestampSetAggregator.java │ │ │ ├── LongTimeSeriesAggregator.java │ │ │ ├── RBMBackedTimestampSetAggregator.java │ │ │ └── package-info.java │ │ │ ├── function │ │ │ ├── DateToTimeBucketEnd.java │ │ │ ├── DateToTimeBucketStart.java │ │ │ ├── MaskTimestampSetByTimeRange.java │ │ │ ├── ToSingletonTreeSet.java │ │ │ ├── ToTimeBucket.java │ │ │ ├── ToTimeBucketEnd.java │ │ │ ├── ToTimeBucketStart.java │ │ │ └── ToTimestampSet.java │ │ │ ├── package-info.java │ │ │ ├── predicate │ │ │ └── RBMBackedTimestampSetInRange.java │ │ │ └── serialisation │ │ │ ├── BoundedTimestampSetSerialiser.java │ │ │ ├── DeltaLongTimeSeriesSerialiser.java │ │ │ ├── RBMBackedTimestampSetSerialiser.java │ │ │ └── package-info.java │ │ └── test │ │ ├── java │ │ └── uk │ │ │ └── gov │ │ │ └── gchq │ │ │ └── gaffer │ │ │ └── time │ │ │ ├── BoundedTimestampSetTest.java │ │ │ ├── CommonTimeUtilTest.java │ │ │ ├── LongTimeSeriesTest.java │ │ │ ├── RBMBackedTimestampSetTest.java │ │ │ ├── binaryoperator │ │ │ ├── BoundedTimestampSetAggregatorTest.java │ │ │ ├── LongTimeSeriesAggregatorTest.java │ │ │ └── RBMBackedTimestampSetAggregatorTest.java │ │ │ ├── function │ │ │ ├── DateToTimeBucketEndTest.java │ │ │ ├── DateToTimeBucketStartTest.java │ │ │ ├── MaskTimestampSetByTimeRangeTest.java │ │ │ ├── ToSingletonTreeSetTest.java │ │ │ ├── ToTimeBucketEndTest.java │ │ │ ├── ToTimeBucketStartTest.java │ │ │ ├── ToTimeBucketTest.java │ │ │ └── ToTimestampSetTest.java │ │ │ ├── predicate │ │ │ └── RBMBackedTimestampSetInRangeTest.java │ │ │ └── serialisation │ │ │ ├── BoundedTimestampSetSerialiserTest.java │ │ │ ├── DeltaLongTimeSeriesSerialiserTest.java │ │ │ └── RBMBackedTimestampSetSerialiserTest.java │ │ └── resources │ │ ├── custom-map04.json │ │ └── log4j.xml └── tinkerpop │ ├── README.md │ ├── pom.xml │ └── src │ ├── main │ ├── java │ │ └── uk │ │ │ └── gov │ │ │ └── gchq │ │ │ └── gaffer │ │ │ └── tinkerpop │ │ │ ├── GafferPopEdge.java │ │ │ ├── GafferPopElement.java │ │ │ ├── GafferPopGraph.java │ │ │ ├── GafferPopGraphFeatures.java │ │ │ ├── GafferPopGraphVariables.java │ │ │ ├── GafferPopProperty.java │ │ │ ├── GafferPopVertex.java │ │ │ ├── GafferPopVertexProperty.java │ │ │ ├── generator │ │ │ ├── GafferEdgeGenerator.java │ │ │ ├── GafferEntityGenerator.java │ │ │ ├── GafferPopEdgeGenerator.java │ │ │ ├── GafferPopElementGenerator.java │ │ │ └── GafferPopVertexGenerator.java │ │ │ ├── gremlinplugin │ │ │ └── GafferPopGremlinPlugin.java │ │ │ ├── process │ │ │ └── traversal │ │ │ │ ├── step │ │ │ │ ├── GafferPopGraphStep.java │ │ │ │ ├── GafferPopHasStep.java │ │ │ │ ├── GafferPopVertexStep.java │ │ │ │ └── util │ │ │ │ │ └── GafferPopHasContainer.java │ │ │ │ ├── strategy │ │ │ │ └── optimisation │ │ │ │ │ ├── GafferPopGraphStepStrategy.java │ │ │ │ │ ├── GafferPopHasStepStrategy.java │ │ │ │ │ └── GafferPopVertexStepStrategy.java │ │ │ │ └── util │ │ │ │ ├── GafferCustomTypeFactory.java │ │ │ │ ├── GafferPredicateFactory.java │ │ │ │ └── GafferVertexUtils.java │ │ │ └── service │ │ │ ├── GafferPopNamedOperationService.java │ │ │ └── GafferPopNamedOperationServiceFactory.java │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.tinkerpop.gremlin.jsr223.GremlinPlugin │ └── test │ ├── java │ └── uk │ │ └── gov │ │ └── gchq │ │ └── gaffer │ │ └── tinkerpop │ │ ├── GafferPopEdgeTest.java │ │ ├── GafferPopFederatedIT.java │ │ ├── GafferPopFederationTests.java │ │ ├── GafferPopGraphFeaturesTest.java │ │ ├── GafferPopGraphIT.java │ │ ├── GafferPopGraphProvider.java │ │ ├── GafferPopGraphTest.java │ │ ├── GafferPopGraphVariablesTest.java │ │ ├── GafferPopGremlinPluginTest.java │ │ ├── GafferPopSimpleFederatedIT.java │ │ ├── GafferPopVertexTest.java │ │ ├── cucumber │ │ └── GafferPopFeatureTest.java │ │ ├── generator │ │ ├── GafferEdgeGeneratorTest.java │ │ ├── GafferEntityGeneratorTest.java │ │ ├── GafferPopEdgeGeneratorTest.java │ │ ├── GafferPopElementGeneratorTest.java │ │ └── GafferPopVertexGeneratorTest.java │ │ ├── process │ │ ├── GafferPopGraphProcessStandardTest.java │ │ └── traversal │ │ │ ├── step │ │ │ ├── GafferPopGraphStepIT.java │ │ │ ├── GafferPopGraphStepTest.java │ │ │ ├── GafferPopHasStepIT.java │ │ │ ├── GafferPopVertexStepIT.java │ │ │ └── GafferPopVertexStepTest.java │ │ │ ├── strategy │ │ │ └── GafferPopGraphStepStrategyCypherIT.java │ │ │ └── util │ │ │ ├── GafferCustomTypeFactoryTest.java │ │ │ └── GafferPredicateFactoryTest.java │ │ ├── service │ │ ├── GafferPopNamedOperationServiceFactoryTest.java │ │ ├── GafferPopNamedOperationServiceIT.java │ │ └── GafferPopNamedOperationServiceTest.java │ │ ├── structure │ │ └── GafferPopGraphStructureStandardTest.java │ │ └── util │ │ ├── GafferPopTestUtil.java │ │ ├── GafferPopTstvTestUtils.java │ │ └── modern │ │ ├── GafferPopModernFederatedTestUtils.java │ │ ├── GafferPopModernSimpleFederatedTestUtils.java │ │ ├── GafferPopModernTestUtils.java │ │ ├── Person.java │ │ └── Software.java │ └── resources │ ├── cucumber.properties │ ├── federatedStore │ ├── fed-store.properties │ └── simple-fed-store.properties │ ├── gaffer │ ├── map-store.properties │ ├── schema │ │ ├── elements.json │ │ └── types.json │ ├── store.properties │ └── tstv-schema │ │ ├── elements.json │ │ └── types.json │ ├── gafferpop-test.properties │ ├── gafferpop-tinkerpop-modern.properties │ ├── log4j.xml │ └── tinkerpop │ ├── map-store.properties │ └── schema │ ├── modern-int │ ├── elements.json │ └── types.json │ ├── standard-int │ └── elements.json │ ├── standard-long │ └── elements.json │ ├── standard-string │ └── elements.json │ ├── standard-uuid │ └── elements.json │ └── types │ └── types.json ├── logos ├── Thumbs.db ├── asciiLogo.txt ├── icon.png ├── icon.svg ├── iconCircle.png ├── iconCircle.svg ├── logo.png ├── logo.svg ├── logoWithText.png └── logoWithText.svg ├── pom.xml ├── rest-api ├── accumulo-rest │ ├── pom.xml │ └── src │ │ ├── main │ │ └── resources │ │ │ └── disableOperations.json │ │ └── test │ │ ├── java │ │ └── uk │ │ │ └── gov │ │ │ └── gchq │ │ │ └── gaffer │ │ │ └── rest │ │ │ ├── factory │ │ │ └── AccumuloDisableOperationsTest.java │ │ │ └── service │ │ │ └── accumulo │ │ │ └── v2 │ │ │ └── OperationServiceV2IT.java │ │ └── resources │ │ ├── log4j.xml │ │ └── store.properties ├── common-rest │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── uk │ │ │ │ └── gov │ │ │ │ └── gchq │ │ │ │ └── gaffer │ │ │ │ └── rest │ │ │ │ ├── PropertiesUtil.java │ │ │ │ ├── ServiceConstants.java │ │ │ │ ├── SystemProperty.java │ │ │ │ ├── SystemStatus.java │ │ │ │ ├── example │ │ │ │ ├── ExampleDomainObject.java │ │ │ │ ├── ExampleDomainObjectGenerator.java │ │ │ │ ├── ExampleElementGenerator.java │ │ │ │ ├── ExampleFilterFunction.java │ │ │ │ ├── ExampleTransformFunction.java │ │ │ │ └── package-info.java │ │ │ │ ├── factory │ │ │ │ ├── AbstractExamplesFactory.java │ │ │ │ ├── DefaultGraphFactory.java │ │ │ │ ├── ExamplesFactory.java │ │ │ │ ├── GraphFactory.java │ │ │ │ ├── UnknownUserFactory.java │ │ │ │ └── UserFactory.java │ │ │ │ ├── model │ │ │ │ ├── OperationDetail.java │ │ │ │ └── OperationField.java │ │ │ │ ├── serialisation │ │ │ │ └── ObjectMapperProvider.java │ │ │ │ └── service │ │ │ │ └── v2 │ │ │ │ └── AbstractOperationService.java │ │ └── resources │ │ │ ├── disableOperations.json │ │ │ └── version.properties │ │ └── test │ │ ├── java │ │ └── uk │ │ │ └── gov │ │ │ └── gchq │ │ │ └── gaffer │ │ │ └── rest │ │ │ ├── PropertiesUtilTest.java │ │ │ ├── factory │ │ │ ├── AbstractExamplesFactoryTest.java │ │ │ ├── DefaultGraphFactoryTest.java │ │ │ ├── GraphFactoryForTest.java │ │ │ ├── GraphFactoryTest.java │ │ │ ├── UnknownUserFactoryTest.java │ │ │ ├── UserFactoryForTest.java │ │ │ └── UserFactoryTest.java │ │ │ ├── model │ │ │ └── OperationDetailTest.java │ │ │ └── serialisation │ │ │ ├── JsonSerialisationUtilTest.java │ │ │ └── ObjectMapperProviderTest.java │ │ └── resources │ │ ├── graphConfigIncorrectLibrary.json │ │ ├── graphConfigWithHooks.json │ │ ├── log4j.xml │ │ ├── schema │ │ ├── schema.json │ │ ├── schemaNoDirected.json │ │ ├── schemaNoEdges.json │ │ └── schemaNoEntities.json │ │ └── store.properties ├── core-rest │ ├── README.md │ ├── dependencies │ │ └── swagger │ │ │ ├── css │ │ │ ├── print.css │ │ │ ├── reset.css │ │ │ ├── screen.css │ │ │ ├── style.css │ │ │ └── typography.css │ │ │ ├── fonts │ │ │ ├── DroidSans-Bold.ttf │ │ │ └── DroidSans.ttf │ │ │ ├── images │ │ │ └── throbber.gif │ │ │ ├── lang │ │ │ ├── ca.js │ │ │ ├── el.js │ │ │ ├── en.js │ │ │ ├── es.js │ │ │ ├── fr.js │ │ │ ├── geo.js │ │ │ ├── it.js │ │ │ ├── ja.js │ │ │ ├── ko-kr.js │ │ │ ├── pl.js │ │ │ ├── pt.js │ │ │ ├── ru.js │ │ │ ├── tr.js │ │ │ ├── translator.js │ │ │ └── zh-cn.js │ │ │ ├── lib │ │ │ ├── backbone-min.js │ │ │ ├── es5-shim.js │ │ │ ├── handlebars-4.0.5.js │ │ │ ├── highlight.9.1.0.pack.js │ │ │ ├── highlight.9.1.0.pack_extended.js │ │ │ ├── jquery-1.8.0.min.js │ │ │ ├── jquery.ba-bbq.min.js │ │ │ ├── jquery.slideto.min.js │ │ │ ├── jquery.wiggle.min.js │ │ │ ├── js-yaml.min.js │ │ │ ├── jsoneditor.min.js │ │ │ ├── lodash.min.js │ │ │ ├── marked.js │ │ │ ├── object-assign-pollyfill.js │ │ │ ├── sanitize-html.min.js │ │ │ └── swagger-oauth.js │ │ │ ├── o2c.html │ │ │ ├── swagger-ui.js │ │ │ └── swagger-ui.min.js │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── uk │ │ │ │ └── gov │ │ │ │ └── gchq │ │ │ │ └── gaffer │ │ │ │ └── rest │ │ │ │ ├── FactoriesBinder.java │ │ │ │ ├── JaxRsErrorFactory.java │ │ │ │ ├── ServletLifecycleListener.java │ │ │ │ ├── application │ │ │ │ ├── ApplicationConfig.java │ │ │ │ ├── ApplicationConfigV1.java │ │ │ │ ├── ApplicationConfigV2.java │ │ │ │ └── package-info.java │ │ │ │ ├── filter │ │ │ │ ├── OriginFilter.java │ │ │ │ └── package-info.java │ │ │ │ ├── mapper │ │ │ │ ├── GafferCheckedExceptionMapper.java │ │ │ │ ├── GafferRuntimeExceptionMapper.java │ │ │ │ ├── GenericExceptionMapper.java │ │ │ │ ├── ProcessingExceptionMapper.java │ │ │ │ ├── UnauthorisedExceptionMapper.java │ │ │ │ ├── WebApplicationExceptionMapper.java │ │ │ │ └── package-info.java │ │ │ │ ├── package-info.java │ │ │ │ ├── serialisation │ │ │ │ ├── RestJsonProvider.java │ │ │ │ ├── TextMessageBodyWriter.java │ │ │ │ └── package-info.java │ │ │ │ └── service │ │ │ │ ├── package-info.java │ │ │ │ ├── v1 │ │ │ │ ├── GraphConfigurationService.java │ │ │ │ ├── IGraphConfigurationService.java │ │ │ │ ├── IJobService.java │ │ │ │ ├── IOperationService.java │ │ │ │ ├── IStatusService.java │ │ │ │ ├── JobService.java │ │ │ │ ├── OperationService.java │ │ │ │ ├── StatusService.java │ │ │ │ ├── SwaggerDefinitionConfig.java │ │ │ │ ├── example │ │ │ │ │ ├── ExamplesService.java │ │ │ │ │ ├── IExamplesService.java │ │ │ │ │ └── package-info.java │ │ │ │ └── package-info.java │ │ │ │ └── v2 │ │ │ │ ├── GraphConfigurationServiceV2.java │ │ │ │ ├── IGraphConfigurationServiceV2.java │ │ │ │ ├── IJobServiceV2.java │ │ │ │ ├── IOperationServiceV2.java │ │ │ │ ├── IPropertiesServiceV2.java │ │ │ │ ├── IStatusServiceV2.java │ │ │ │ ├── JobServiceV2.java │ │ │ │ ├── OperationServiceV2.java │ │ │ │ ├── PropertiesServiceV2.java │ │ │ │ ├── StatusServiceV2.java │ │ │ │ ├── SwaggerDefinitionConfigV2.java │ │ │ │ ├── VersionServiceV2.java │ │ │ │ ├── example │ │ │ │ ├── DefaultExamplesFactory.java │ │ │ │ ├── ExampleBinder.java │ │ │ │ ├── ExamplesServiceV2.java │ │ │ │ ├── IExamplesServiceV2.java │ │ │ │ └── package-info.java │ │ │ │ └── package-info.java │ │ └── webapp │ │ │ ├── META-INF │ │ │ └── context.xml │ │ │ ├── WEB-INF │ │ │ ├── jboss-deployment-structure.xml │ │ │ ├── jboss-web.xml │ │ │ └── web.xml │ │ │ ├── css │ │ │ ├── custom.css │ │ │ └── gaffer.css │ │ │ ├── images │ │ │ ├── android-chrome-192x192.png │ │ │ ├── android-chrome-512x512.png │ │ │ ├── apple-touch-icon.png │ │ │ ├── browserconfig.xml │ │ │ ├── favicon-16x16.png │ │ │ ├── favicon-32x32.png │ │ │ ├── favicon.ico │ │ │ ├── logo.png │ │ │ ├── manifest.json │ │ │ └── safari-pinned-tab.svg │ │ │ ├── index.html │ │ │ └── lib │ │ │ └── gaffer.js │ │ └── test │ │ ├── java │ │ └── uk │ │ │ └── gov │ │ │ └── gchq │ │ │ └── gaffer │ │ │ └── rest │ │ │ ├── AbstractRestApiIT.java │ │ │ ├── DisableOperationsTest.java │ │ │ ├── ExampleCharOperation.java │ │ │ ├── ExampleGeneratorTest.java │ │ │ ├── RestApiTestClient.java │ │ │ ├── serialisation │ │ │ └── TextMessageBodyWriterTest.java │ │ │ └── service │ │ │ ├── impl │ │ │ ├── OperationServiceIT.java │ │ │ └── StatusServiceIT.java │ │ │ ├── v1 │ │ │ ├── AbstractRestApiV1IT.java │ │ │ ├── ExamplesServiceTest.java │ │ │ ├── GraphConfigurationServiceTest.java │ │ │ ├── OperationServiceV1IT.java │ │ │ ├── RestApiV1IT.java │ │ │ ├── RestApiV1TestClient.java │ │ │ └── StatusServiceV1IT.java │ │ │ └── v2 │ │ │ ├── AbstractRestApiV2IT.java │ │ │ ├── GraphConfigurationServiceV2Test.java │ │ │ ├── JobServiceV2IT.java │ │ │ ├── OperationServiceV2IT.java │ │ │ ├── PersistentCachingJobServiceV2IT.java │ │ │ ├── PropertyServiceV2IT.java │ │ │ ├── RestApiV2IT.java │ │ │ ├── RestApiV2TestClient.java │ │ │ ├── StatusServiceV2IT.java │ │ │ └── VersionServiceV2Test.java │ │ └── resources │ │ ├── addOperationsToChain.json │ │ ├── example-schema.json │ │ ├── graphConfig.json │ │ ├── graphConfigWithHooks.json │ │ ├── job-tracker-cache.ccf │ │ ├── junit-platform.properties │ │ ├── log4j.xml │ │ ├── mockito-extensions │ │ └── org.mockito.plugins.MockMaker │ │ ├── persistent-caching-store.properties │ │ ├── schema │ │ └── schema.json │ │ ├── store.properties │ │ └── version.properties ├── map-rest │ └── pom.xml ├── pom.xml └── spring-rest │ ├── README.md │ ├── pom.xml │ └── src │ ├── main │ ├── java │ │ └── uk │ │ │ └── gov │ │ │ └── gchq │ │ │ └── gaffer │ │ │ └── rest │ │ │ ├── GafferWebApplication.java │ │ │ ├── config │ │ │ ├── CorsConfig.java │ │ │ ├── FactoryConfig.java │ │ │ ├── GremlinConfig.java │ │ │ ├── GremlinWebSocketConfig.java │ │ │ ├── JsonSerialisationConfig.java │ │ │ ├── PathParamConfig.java │ │ │ ├── RootRedirectConfig.java │ │ │ └── SwaggerConfig.java │ │ │ ├── controller │ │ │ ├── GraphConfigurationController.java │ │ │ ├── GremlinController.java │ │ │ ├── JobController.java │ │ │ ├── OperationController.java │ │ │ ├── PropertiesController.java │ │ │ ├── StatusController.java │ │ │ └── VersionController.java │ │ │ ├── factory │ │ │ ├── DefaultExamplesFactory.java │ │ │ └── spring │ │ │ │ ├── AbstractUserFactory.java │ │ │ │ └── UnknownUserFactory.java │ │ │ ├── filter │ │ │ └── GafferHeaderFilter.java │ │ │ ├── handler │ │ │ └── GremlinWebSocketHandler.java │ │ │ └── mapper │ │ │ └── GafferExceptionMapper.java │ └── resources │ │ ├── application.yml │ │ ├── graphConfig.json │ │ ├── log4j.xml │ │ ├── map │ │ └── store.properties │ │ ├── schemas │ │ ├── elements.json │ │ └── types.json │ │ └── static │ │ └── images │ │ └── logo.png │ └── test │ ├── java │ └── uk │ │ └── gov │ │ └── gchq │ │ └── gaffer │ │ └── rest │ │ ├── config │ │ └── FactoryConfigTest.java │ │ ├── controller │ │ ├── GraphConfigurationControllerTest.java │ │ ├── GremlinControllerTest.java │ │ ├── OperationControllerTest.java │ │ ├── PropertiesControllerTest.java │ │ ├── StatusControllerTest.java │ │ └── VersionControllerTest.java │ │ ├── factory │ │ ├── MockGraphFactory.java │ │ └── MockUserFactory.java │ │ ├── integration │ │ ├── RestTemplateProvider.java │ │ ├── config │ │ │ ├── FactoryConfigIT.java │ │ │ └── JsonSerialisationConfigIT.java │ │ ├── controller │ │ │ ├── AbstractRestApiIT.java │ │ │ ├── CorsIT.java │ │ │ ├── GraphConfigurationControllerIT.java │ │ │ ├── JobControllerIT.java │ │ │ ├── OperationControllerIT.java │ │ │ ├── PropertiesControllerIT.java │ │ │ └── StatusControllerIT.java │ │ ├── handler │ │ │ └── GremlinWebSocketIT.java │ │ └── proxy │ │ │ └── ProxyStoreIT.java │ │ └── mapper │ │ └── GafferExceptionMapperTest.java │ └── resources │ ├── ResultCacheExportOperations.json │ ├── application-propertiesIT.yml │ ├── application-test.yml │ ├── cache-store.properties │ ├── cardinalitySchema │ └── schema.json │ ├── gaffer │ └── schema │ │ ├── elements.json │ │ └── types.json │ ├── graphConfig.json │ ├── log4j.xml │ ├── schema │ └── schema.json │ └── version.properties └── store-implementation ├── accumulo-store ├── README.md ├── pom.xml ├── sample-files │ ├── store.properties.sample │ ├── store.properties.sample.accumulo.minimal │ ├── store.properties.sample.miniaccumulo.minimal │ └── store.properties.sample.singleuseminiaccumulo.minimal └── src │ ├── main │ └── java │ │ └── uk │ │ └── gov │ │ └── gchq │ │ └── gaffer │ │ └── accumulostore │ │ ├── AccumuloProperties.java │ │ ├── AccumuloSerialisationFactory.java │ │ ├── AccumuloStore.java │ │ ├── SingleUseAccumuloStore.java │ │ ├── data │ │ └── element │ │ │ ├── AccumuloEdgeValueLoader.java │ │ │ ├── AccumuloElementValueLoader.java │ │ │ └── AccumuloEntityValueLoader.java │ │ ├── inputformat │ │ └── ElementInputFormat.java │ │ ├── key │ │ ├── AbstractElementFilter.java │ │ ├── AccumuloElementConverter.java │ │ ├── AccumuloException.java │ │ ├── AccumuloKeyPackage.java │ │ ├── AccumuloRuntimeException.java │ │ ├── IteratorException.java │ │ ├── IteratorSettingFactory.java │ │ ├── RangeFactory.java │ │ ├── core │ │ │ ├── AbstractCoreKeyAccumuloElementConverter.java │ │ │ ├── AbstractCoreKeyIteratorSettingsFactory.java │ │ │ ├── AbstractCoreKeyRangeFactory.java │ │ │ └── impl │ │ │ │ ├── CoreKeyBloomFilterIterator.java │ │ │ │ ├── CoreKeyBloomFunctor.java │ │ │ │ ├── CoreKeyGroupByAggregatorIterator.java │ │ │ │ ├── CoreKeyGroupByCombiner.java │ │ │ │ ├── byteEntity │ │ │ │ ├── ByteEntityAccumuloElementConverter.java │ │ │ │ ├── ByteEntityIteratorSettingsFactory.java │ │ │ │ ├── ByteEntityKeyPackage.java │ │ │ │ ├── ByteEntityPositions.java │ │ │ │ ├── ByteEntityRangeElementPropertyFilterIterator.java │ │ │ │ └── ByteEntityRangeFactory.java │ │ │ │ └── classic │ │ │ │ ├── ClassicAccumuloElementConverter.java │ │ │ │ ├── ClassicBytePositions.java │ │ │ │ ├── ClassicEdgeDirectedUndirectedFilterIterator.java │ │ │ │ ├── ClassicIteratorSettingsFactory.java │ │ │ │ ├── ClassicKeyPackage.java │ │ │ │ ├── ClassicRangeElementPropertyFilterIterator.java │ │ │ │ └── ClassicRangeFactory.java │ │ ├── exception │ │ │ ├── AccumuloElementConversionException.java │ │ │ ├── AggregationException.java │ │ │ ├── BloomFilterIteratorException.java │ │ │ ├── ElementFilterException.java │ │ │ ├── IteratorSettingException.java │ │ │ └── RangeFactoryException.java │ │ └── impl │ │ │ ├── AggregatorIterator.java │ │ │ ├── ElementPostAggregationFilter.java │ │ │ ├── ElementPreAggregationFilter.java │ │ │ ├── RowIDAggregator.java │ │ │ └── ValidatorFilter.java │ │ ├── operation │ │ ├── InputB.java │ │ ├── MultiEntityIdInputB.java │ │ ├── MultiInputB.java │ │ ├── handler │ │ │ ├── AddElementsHandler.java │ │ │ ├── DeleteAllDataHandler.java │ │ │ ├── DeleteElementsHandler.java │ │ │ ├── GenerateSplitPointsFromSampleHandler.java │ │ │ ├── GetAdjacentIdsHandler.java │ │ │ ├── GetAllElementsHandler.java │ │ │ ├── GetElementsBetweenSetsHandler.java │ │ │ ├── GetElementsBetweenSetsPairsHandler.java │ │ │ ├── GetElementsHandler.java │ │ │ ├── GetElementsInRangesHandler.java │ │ │ ├── GetElementsWithinSetHandler.java │ │ │ ├── SampleElementsForSplitPointsHandler.java │ │ │ └── SummariseGroupOverRangesHandler.java │ │ ├── hdfs │ │ │ ├── exception │ │ │ │ └── BulkImportException.java │ │ │ ├── handler │ │ │ │ ├── AddElementsFromHdfsHandler.java │ │ │ │ ├── ImportAccumuloKeyValueFilesHandler.java │ │ │ │ ├── SampleDataForSplitPointsHandler.java │ │ │ │ ├── SplitStoreFromIterableHandler.java │ │ │ │ └── job │ │ │ │ │ ├── factory │ │ │ │ │ ├── AccumuloAddElementsFromHdfsJobFactory.java │ │ │ │ │ └── AccumuloSampleDataForSplitPointsJobFactory.java │ │ │ │ │ ├── partitioner │ │ │ │ │ ├── GafferKeyRangePartitioner.java │ │ │ │ │ └── GafferRangePartitioner.java │ │ │ │ │ └── tool │ │ │ │ │ └── ImportElementsToAccumuloTool.java │ │ │ ├── mapper │ │ │ │ ├── AddElementsFromHdfsMapper.java │ │ │ │ └── SampleDataForSplitPointsMapper.java │ │ │ ├── operation │ │ │ │ └── ImportAccumuloKeyValueFiles.java │ │ │ └── reducer │ │ │ │ └── AccumuloKeyValueReducer.java │ │ └── impl │ │ │ ├── GetElementsBetweenSets.java │ │ │ ├── GetElementsBetweenSetsPairs.java │ │ │ ├── GetElementsInRanges.java │ │ │ ├── GetElementsWithinSet.java │ │ │ └── SummariseGroupOverRanges.java │ │ ├── retriever │ │ ├── AccumuloItemRetriever.java │ │ ├── AccumuloRetriever.java │ │ ├── AccumuloSetRetriever.java │ │ ├── RetrieverException.java │ │ └── impl │ │ │ ├── AccumuloAdjacentIdRetriever.java │ │ │ ├── AccumuloAllElementsRetriever.java │ │ │ ├── AccumuloElementsRetriever.java │ │ │ ├── AccumuloIDBetweenSetsRetriever.java │ │ │ ├── AccumuloIDWithinSetRetriever.java │ │ │ ├── AccumuloRangeIDRetriever.java │ │ │ └── AccumuloSingleIDRetriever.java │ │ └── utils │ │ ├── AccumuloStoreConstants.java │ │ ├── AddUpdateTableIterator.java │ │ ├── BloomFilterUtils.java │ │ ├── ByteUtils.java │ │ ├── BytesAndRange.java │ │ ├── IngestUtils.java │ │ ├── IteratorOptionsBuilder.java │ │ ├── IteratorSettingBuilder.java │ │ ├── LegacySupport.java │ │ └── TableUtils.java │ └── test │ ├── java │ └── uk │ │ └── gov │ │ └── gchq │ │ └── gaffer │ │ └── accumulostore │ │ ├── AccumuloPropertiesTest.java │ │ ├── AccumuloSerialisationFactoryTest.java │ │ ├── AccumuloStoreTest.java │ │ ├── MiniAccumuloStore.java │ │ ├── SingleUseMiniAccumuloStore.java │ │ ├── data │ │ └── element │ │ │ ├── AccumuloEdgeValueLoaderTest.java │ │ │ └── AccumuloEntityValueLoaderTest.java │ │ ├── function │ │ └── ExampleFilterFunction.java │ │ ├── inputformat │ │ └── InputFormatTest.java │ │ ├── integration │ │ ├── AccumuloAggregationIT.java │ │ ├── AccumuloMatchedVertexIT.java │ │ ├── AccumuloSchemaHidingIT.java │ │ ├── AccumuloStoreClassicKeysITs.java │ │ ├── AccumuloStoreITs.java │ │ ├── FirstLastIT.java │ │ ├── GetElementsInRangesIT.java │ │ ├── delete │ │ │ ├── AbstractDeletedElementsIT.java │ │ │ ├── GetAdjacentIdsDeletedElementsIT.java │ │ │ ├── GetAllElementsDeletedElementsIT.java │ │ │ ├── GetElementsBetweenSetsDeletedElementsIT.java │ │ │ ├── GetElementsBetweenSetsPairsDeletedElementsIT.java │ │ │ ├── GetElementsDeletedElementsIT.java │ │ │ ├── GetElementsInRangesDeletedElementsIT.java │ │ │ └── GetElementsWithinSetDeletedElementsIT.java │ │ └── performance │ │ │ └── BloomFilterIT.java │ │ ├── key │ │ ├── AbstractAccumuloElementConverterTest.java │ │ ├── MockAccumuloElementConverter.java │ │ ├── core │ │ │ ├── AbstractCoreKeyAccumuloElementConverterTest.java │ │ │ ├── AbstractCoreKeyIteratorSettingsFactoryTest.java │ │ │ └── impl │ │ │ │ ├── CoreKeyGroupByAggregatorIteratorTest.java │ │ │ │ ├── bytedEntity │ │ │ │ ├── ByteEntityAccumuloElementConverterTest.java │ │ │ │ ├── ByteEntityAccumuloElementConverterVisibilityTest.java │ │ │ │ └── ByteEntityIteratorSettingsFactoryTest.java │ │ │ │ └── classic │ │ │ │ ├── ClassicAccumuloElementConverterTest.java │ │ │ │ └── ClassicIteratorSettingsFactoryTest.java │ │ └── impl │ │ │ ├── AggregatorIteratorTest.java │ │ │ ├── CoreKeyBloomFilterIteratorTest.java │ │ │ ├── ElementPostAggregationFilterTest.java │ │ │ ├── ElementPreAggregationFilterTest.java │ │ │ ├── RowIdAggregatorTest.java │ │ │ ├── ValidatorFilterTest.java │ │ │ ├── byteEntity │ │ │ └── ByteEntityRangeElementPropertyFilterIteratorTest.java │ │ │ └── classic │ │ │ └── ClassicEdgeDirectedUndirectedFilterIteratorTest.java │ │ ├── operation │ │ ├── handler │ │ │ ├── DeleteElementsHandlerTest.java │ │ │ ├── GenerateSplitPointsFromSampleHanderTest.java │ │ │ ├── GetElementsBetweenSetsHandlerTest.java │ │ │ ├── GetElementsBetweenSetsPairsHandlerTest.java │ │ │ ├── GetElementsHandlerTest.java │ │ │ ├── GetElementsInRangesHandlerTest.java │ │ │ ├── GetElementsWithinSetHandlerTest.java │ │ │ └── SampleElementsForSplitPointsHandlerTest.java │ │ ├── hdfs │ │ │ ├── handler │ │ │ │ └── job │ │ │ │ │ └── factory │ │ │ │ │ ├── AccumuloAddElementsFromHdfsJobFactoryTest.java │ │ │ │ │ └── AccumuloSampleDataForSplitPointsJobFactoryTest.java │ │ │ ├── impl │ │ │ │ ├── ImportAccumuloKeyValueFilesTest.java │ │ │ │ └── SampleDataForSplitPointsTest.java │ │ │ ├── mapper │ │ │ │ ├── AddElementsFromHdfsMapperTest.java │ │ │ │ └── SampleDataForSplitPointsMapperTest.java │ │ │ └── reducer │ │ │ │ └── AccumuloKeyValueReducerTest.java │ │ └── impl │ │ │ ├── CreateSplitPointsTest.java │ │ │ ├── GetElementsBetweenSetsPairsTest.java │ │ │ ├── GetElementsBetweenSetsTest.java │ │ │ ├── GetElementsInRangesTest.java │ │ │ ├── GetElementsWithinSetTest.java │ │ │ └── SummariseGroupOverRangesTest.java │ │ ├── retriever │ │ └── impl │ │ │ ├── AccumuloIDBetweenSetsRetrieverTest.java │ │ │ ├── AccumuloIDWithinSetRetrieverTest.java │ │ │ ├── AccumuloRangeIDRetrieverTest.java │ │ │ └── AccumuloSingleIDRetrieverTest.java │ │ ├── test │ │ └── bloom │ │ │ ├── ByteEntityBloomElementFunctorTest.java │ │ │ ├── FilterWritabilityTest.java │ │ │ └── Gaffer1BloomElementFunctorTest.java │ │ └── utils │ │ ├── AccumuloPropertyNames.java │ │ ├── AccumuloTestData.java │ │ ├── AddUpdateTableIteratorTest.java │ │ ├── ByteArrayEscapeUtilsTest.java │ │ ├── ByteUtilsTest.java │ │ ├── BytesAndRangeTest.java │ │ ├── IteratorSettingBuilderTest.java │ │ ├── LegacySupportTest.java │ │ └── TableUtilsTest.java │ └── resources │ ├── ImportExportOperationDeclarations.json │ ├── ResultCacheExportOperations.json │ ├── accumuloStore.properties │ ├── accumuloStoreClassicKeys.properties │ ├── cache-store.properties │ ├── empty-store.properties │ ├── log4j.xml │ ├── schema │ ├── elements.json │ └── types.json │ ├── schema2 │ ├── elements.json │ └── types.json │ ├── schemaWithVisibilities │ ├── elementsWithVisibilities.json │ └── types.json │ ├── store.properties │ ├── store2.properties │ └── view.json ├── federated-store ├── README.md ├── pom.xml └── src │ ├── main │ └── java │ │ └── uk │ │ └── gov │ │ └── gchq │ │ └── gaffer │ │ └── federatedstore │ │ ├── FederatedAccess.java │ │ ├── FederatedGraphStorage.java │ │ ├── FederatedStore.java │ │ ├── FederatedStoreCache.java │ │ ├── FederatedStoreCacheTransient.java │ │ ├── FederatedStoreConstants.java │ │ ├── FederatedStoreProperties.java │ │ ├── access │ │ └── predicate │ │ │ ├── FederatedGraphAccessPredicate.java │ │ │ ├── FederatedGraphReadAccessPredicate.java │ │ │ ├── FederatedGraphWriteAccessPredicate.java │ │ │ └── user │ │ │ ├── FederatedGraphReadUserPredicate.java │ │ │ └── FederatedGraphWriteUserPredicate.java │ │ ├── exception │ │ └── StorageException.java │ │ ├── operation │ │ ├── AddGraph.java │ │ ├── AddGraphWithHooks.java │ │ ├── ChangeGraphAccess.java │ │ ├── ChangeGraphId.java │ │ ├── FederatedOperation.java │ │ ├── FederatedOperationChainValidator.java │ │ ├── GetAllGraphIds.java │ │ ├── GetAllGraphInfo.java │ │ ├── IFederatedOperation.java │ │ ├── IFederationOperation.java │ │ ├── RemoveGraph.java │ │ ├── RemoveGraphAndDeleteAllData.java │ │ └── handler │ │ │ ├── FederatedAddGraphHandlerParent.java │ │ │ ├── FederatedDelegateToHandler.java │ │ │ └── impl │ │ │ ├── FederatedAddGraphHandler.java │ │ │ ├── FederatedAddGraphWithHooksHandler.java │ │ │ ├── FederatedChangeGraphAccessHandler.java │ │ │ ├── FederatedChangeGraphIdHandler.java │ │ │ ├── FederatedGetAllGraphIDHandler.java │ │ │ ├── FederatedGetAllGraphInfoHandler.java │ │ │ ├── FederatedJoinHandler.java │ │ │ ├── FederatedNoOutputHandler.java │ │ │ ├── FederatedOperationHandler.java │ │ │ ├── FederatedOutputHandler.java │ │ │ ├── FederatedOutputIterableHandler.java │ │ │ ├── FederatedRemoveGraphAndDeleteAllDataHandler.java │ │ │ ├── FederatedRemoveGraphHandler.java │ │ │ └── FederatedWhileHandler.java │ │ ├── schema │ │ └── FederatedViewValidator.java │ │ └── util │ │ ├── ApplyViewToElementsFunction.java │ │ ├── ConcatenateMergeFunction.java │ │ ├── ContextSpecificMergeFunction.java │ │ ├── FederatedStoreUtil.java │ │ └── MergeSchema.java │ └── test │ ├── java │ └── uk │ │ └── gov │ │ └── gchq │ │ └── gaffer │ │ └── federatedstore │ │ ├── AdminGetAllGraphInfoTest.java │ │ ├── DoubleProxyTest.java │ │ ├── FederatedAccessAuthTest.java │ │ ├── FederatedAccessCreatingUserTest.java │ │ ├── FederatedAccessNullEmptyTest.java │ │ ├── FederatedAccessNullUserTest.java │ │ ├── FederatedAccessPublicAccessTest.java │ │ ├── FederatedAccessResourceAccessPredicateTest.java │ │ ├── FederatedGraphStorageTest.java │ │ ├── FederatedStoreAuthTest.java │ │ ├── FederatedStoreCacheBackwardCompatibilityTest.java │ │ ├── FederatedStoreCacheSuffixTest.java │ │ ├── FederatedStoreCacheTest.java │ │ ├── FederatedStoreConfiguredGraphIdsTest.java │ │ ├── FederatedStoreGetElementsWithinSetTest.java │ │ ├── FederatedStoreGetTraitsTest.java │ │ ├── FederatedStoreGetWalksTest.java │ │ ├── FederatedStoreGraphIDsTest.java │ │ ├── FederatedStoreGraphLibraryTest.java │ │ ├── FederatedStoreGraphVisibilityTest.java │ │ ├── FederatedStoreInputChainTest.java │ │ ├── FederatedStoreMultiCacheTest.java │ │ ├── FederatedStoreNamedOperationTest.java │ │ ├── FederatedStorePropertiesTest.java │ │ ├── FederatedStorePublicAccessTest.java │ │ ├── FederatedStoreSchemaOverlapTest.java │ │ ├── FederatedStoreSchemaTest.java │ │ ├── FederatedStoreTest.java │ │ ├── FederatedStoreTestUtil.java │ │ ├── FederatedStoreToFederatedStoreTest.java │ │ ├── FederatedStoreViewAggregationTest.java │ │ ├── FederatedStoreVisibilityTest.java │ │ ├── FederatedStoreWrongGraphIDsTest.java │ │ ├── FederatedWhileLoopAndJoinTest.java │ │ ├── PredefinedFederatedStore.java │ │ ├── PublicAccessPredefinedFederatedStore.java │ │ ├── SingleUseFederatedStore.java │ │ ├── SingleUseProxyMapStore.java │ │ ├── access │ │ └── predicate │ │ │ ├── FederatedGraphReadAccessPredicateTest.java │ │ │ ├── FederatedGraphWriteAccessPredicateTest.java │ │ │ └── user │ │ │ ├── FederatedGraphReadUserPredicateTest.java │ │ │ └── FederatedGraphWriteUserPredicateTest.java │ │ ├── integration │ │ ├── AbstractStandaloneFederatedStoreIT.java │ │ ├── FederatedAdminIT.java │ │ ├── FederatedStoreFileGraphLibraryIT.java │ │ ├── FederatedStoreITs.java │ │ ├── FederatedStoreRecursionIT.java │ │ └── FederatedViewsIT.java │ │ ├── operation │ │ ├── AddGraphTest.java │ │ ├── AddGraphWithHooksTest.java │ │ ├── ChangeGraphIdTest.java │ │ ├── FederatedOperationChainValidatorTest.java │ │ ├── FederatedOperationTest.java │ │ ├── FederationOperationTest.java │ │ ├── GetAllGraphIdsTest.java │ │ ├── GetAllGraphInfoTest.java │ │ ├── RemoveGraphAndDeleteAllDataTest.java │ │ ├── RemoveGraphTest.java │ │ └── handler │ │ │ ├── AddGenericHandlerTest.java │ │ │ ├── FederatedOperationHandlerTest.java │ │ │ └── impl │ │ │ ├── FederatedAddGraphHandlerTest.java │ │ │ ├── FederatedAddGraphWithHooksHandlerTest.java │ │ │ ├── FederatedChangeGraphIdHandlerTest.java │ │ │ ├── FederatedDelegateToAggregateHandlerTest.java │ │ │ ├── FederatedDelegateToFilterHandlerTest.java │ │ │ ├── FederatedDelegateToTransHandlerTest.java │ │ │ ├── FederatedDelegateToValidateHandlerTest.java │ │ │ ├── FederatedDeleteElementsTest.java │ │ │ ├── FederatedGetAllGraphIDsHandlerTest.java │ │ │ ├── FederatedGetSchemaHandlerTest.java │ │ │ ├── FederatedGetTraitsHandlerTest.java │ │ │ ├── FederatedOperationChainHandlerTest.java │ │ │ ├── FederatedRemoveGraphHandlerTest.java │ │ │ ├── FederatedUnhandledOperationTest.java │ │ │ └── TestErrorHandler.java │ │ └── util │ │ ├── ApplyViewToElementsFunctionTest.java │ │ ├── ConcatenateMergeFunctionTest.java │ │ └── FederatedStoreUtilTest.java │ └── resources │ ├── ImportExportOperationDeclarations.json │ ├── configuredProperties │ ├── configuredGraphIds.json │ ├── configuredGraphIdsFileInvalid.json │ ├── federatedStoreConfiguredGraphIds.json │ ├── federatedStoreConfiguredGraphIds.properties │ ├── federatedStoreConfiguredGraphIdsFailFileInvalid.properties │ └── federatedStoreConfiguredGraphIdsFailPathMissing.properties │ ├── gaffer-2.1.0-cache │ ├── cache.ccf │ └── indexed-disk-cache │ │ ├── federatedStoreGraphs_backwards_compatability_2.1.0.data │ │ ├── federatedStoreGraphs_backwards_compatability_2.1.0.key │ │ ├── jobTrackerRegion.data │ │ ├── jobTrackerRegion.key │ │ ├── namedOperationsRegion.data │ │ ├── namedOperationsRegion.key │ │ ├── test.data │ │ └── test.key │ ├── integrationTestMergeFunctions.json │ ├── integrationTestPublicAccessPredefinedFederatedStore.properties │ ├── log4j.xml │ ├── predefinedFederatedStore.properties │ ├── properties │ ├── ImportExportOperationDeclarations.json │ ├── accumuloStore.properties │ ├── federatedStore.properties │ ├── singleUseAccumuloStore.properties │ ├── singleUseAccumuloStoreAlt.properties │ ├── singleUseFederatedStore.properties │ └── singleUseMapStore.properties │ ├── publicAccessPredefinedFederatedStore.properties │ ├── schema │ ├── basicEdge2Schema.json │ ├── basicEdgeSchema.json │ ├── basicEntity2Schema.json │ ├── basicEntitySchema.json │ ├── edgeTypeSchema.json │ ├── edgeX2NoTypesSchema.json │ ├── entityASchema.json │ └── entityBSchema.json │ └── withConfigMergeMapping.json ├── map-store ├── README.md ├── pom.xml └── src │ ├── main │ └── java │ │ └── uk │ │ └── gov │ │ └── gchq │ │ └── gaffer │ │ └── mapstore │ │ ├── MapStore.java │ │ ├── MapStoreProperties.java │ │ ├── SingleUseMapStore.java │ │ ├── SingleUseMapStoreWithoutVisibilitySupport.java │ │ ├── factory │ │ ├── MapFactory.java │ │ ├── SimpleMapFactory.java │ │ └── package-info.java │ │ ├── impl │ │ ├── AddElementsHandler.java │ │ ├── CountAllElementsDefaultViewHandler.java │ │ ├── DeleteAllDataHandler.java │ │ ├── DeleteElementsHandler.java │ │ ├── GetAdjacentIdsHandler.java │ │ ├── GetAllElementsHandler.java │ │ ├── GetElementsHandler.java │ │ ├── GetElementsUtil.java │ │ ├── MapImpl.java │ │ └── package-info.java │ │ ├── multimap │ │ ├── MapOfSets.java │ │ ├── MultiMap.java │ │ └── package-info.java │ │ ├── operation │ │ ├── CountAllElementsDefaultView.java │ │ └── package-info.java │ │ ├── optimiser │ │ └── CountAllElementsOperationChainOptimiser.java │ │ ├── package-info.java │ │ └── utils │ │ ├── ElementCloner.java │ │ ├── MapWrapper.java │ │ ├── SchemaOptimiserMapStore.java │ │ └── package-info.java │ └── test │ ├── java │ └── uk │ │ └── gov │ │ └── gchq │ │ └── gaffer │ │ └── mapstore │ │ ├── MapStorePropertiesGraphSerialisableTest.java │ │ ├── MapStorePropertiesTest.java │ │ ├── MapStoreTest.java │ │ ├── factory │ │ └── SimpleMapFactoryTest.java │ │ ├── impl │ │ ├── AddElementsHandlerTest.java │ │ ├── CountAllElementsDefaultViewHandlerTest.java │ │ ├── DeleteAllDataHandlerTest.java │ │ ├── DeleteElementsHandlerTest.java │ │ ├── GetAdjacentIdsTest.java │ │ ├── GetAllElementsHandlerTest.java │ │ ├── GetElementsHandlerTest.java │ │ ├── MapImplTest.java │ │ ├── OperationChainTest.java │ │ └── VisibilityTest.java │ │ ├── integration │ │ ├── MapSchemaHidingIT.java │ │ └── MapStoreITs.java │ │ ├── multimap │ │ └── MapOfSetsTest.java │ │ ├── optimiser │ │ └── CountAllElementsOperationChainOptimiserTest.java │ │ └── utils │ │ ├── ElementClonerTest.java │ │ └── MapWrapperTest.java │ └── resources │ ├── example-schema │ ├── elements.json │ └── types.json │ ├── log4j.xml │ ├── schema-no-aggregation │ ├── elements.json │ └── types.json │ ├── schema-with-visibilities │ ├── elements.json │ └── types.json │ ├── schema │ ├── elements.json │ └── types.json │ ├── staticmapstore.properties │ └── store.properties ├── pom.xml ├── proxy-store ├── README.md ├── pom.xml └── src │ ├── main │ └── java │ │ └── uk │ │ └── gov │ │ └── gchq │ │ └── gaffer │ │ └── proxystore │ │ ├── ProxyProperties.java │ │ ├── ProxyStore.java │ │ ├── exception │ │ └── ProxyStoreException.java │ │ ├── operation │ │ ├── GetProxyProperties.java │ │ ├── GetProxyUrl.java │ │ └── handler │ │ │ ├── GetProxyPropertiesHandler.java │ │ │ ├── GetProxyUrlHandler.java │ │ │ ├── OperationChainHandler.java │ │ │ └── package-info.java │ │ ├── package-info.java │ │ └── response │ │ └── deserialiser │ │ ├── ResponseDeserialiser.java │ │ └── impl │ │ ├── DefaultResponseDeserialiser.java │ │ └── OperationsResponseDeserialiser.java │ └── test │ ├── java │ └── uk │ │ └── gov │ │ └── gchq │ │ └── gaffer │ │ └── proxystore │ │ ├── ProxyPropertiesTest.java │ │ ├── SingleUseMapProxyStore.java │ │ ├── SingleUseProxyStore.java │ │ ├── integration │ │ ├── ProxyStoreBasicIT.java │ │ ├── ProxyStoreITs.java │ │ ├── ProxyStoreResponseDeserialiserIT.java │ │ └── ProxyStoreWithNamedOpNamedViewITs.java │ │ ├── operation │ │ ├── GetProxyPropertiesTest.java │ │ ├── GetProxyUrlTest.java │ │ └── handler │ │ │ ├── GetProxyPropertiesHandlerTest.java │ │ │ └── GetProxyUrlHandlerTest.java │ │ └── response │ │ └── deserialiser │ │ └── impl │ │ ├── DefaultResponseDeserialiserTest.java │ │ └── OperationsResponseDeserialiserTest.java │ └── resources │ ├── log4j.xml │ ├── map-store.properties │ ├── mock-proxy-store.properties │ ├── proxy-store.properties │ └── schema │ └── schema.json └── simple-federated-store ├── pom.xml └── src ├── main └── java │ └── uk │ └── gov │ └── gchq │ └── gaffer │ └── federated │ └── simple │ ├── FederatedStore.java │ ├── FederatedStoreProperties.java │ ├── FederatedUtils.java │ ├── access │ └── GraphAccess.java │ ├── merge │ ├── DefaultResultAccumulator.java │ ├── FederatedResultAccumulator.java │ └── operator │ │ └── ElementAggregateOperator.java │ └── operation │ ├── AddGraph.java │ ├── ChangeGraphAccess.java │ ├── ChangeGraphId.java │ ├── FederatedOperationChainValidator.java │ ├── GetAllGraphIds.java │ ├── GetAllGraphInfo.java │ ├── RemoveGraph.java │ └── handler │ ├── EitherOperationHandler.java │ ├── FederatedOperationHandler.java │ ├── FederatedOutputHandler.java │ ├── SeparateOutputHandler.java │ ├── add │ └── AddGraphHandler.java │ ├── get │ ├── GetAllGraphIdsHandler.java │ ├── GetAllGraphInfoHandler.java │ └── GetSchemaHandler.java │ └── misc │ ├── ChangeGraphAccessHandler.java │ ├── ChangeGraphIdHandler.java │ └── RemoveGraphHandler.java └── test ├── java └── uk │ └── gov │ └── gchq │ └── gaffer │ └── federated │ └── simple │ ├── FederatedStoreIT.java │ ├── FederatedStoreTest.java │ ├── FederatedUtilsTest.java │ ├── PreDefinedFederatedStore.java │ ├── access │ └── GraphAccessTest.java │ ├── integration │ └── FederatedStoreITs.java │ ├── merge │ └── DefaultResultAccumulatorTest.java │ ├── operation │ ├── AddGraphTest.java │ ├── ChangeGraphAccessTest.java │ ├── ChangeGraphIdTest.java │ ├── FederatedOperationChainValidatorTest.java │ ├── GetSchemaTest.java │ └── RemoveGraphTest.java │ └── util │ ├── FederatedModernTestUtils.java │ └── FederatedTestUtils.java └── resources ├── accumulo-store.properties ├── log4j.xml ├── map-store.properties ├── modern └── schema │ └── schema.json ├── operationDeclarations.json ├── single-use-accumulo-store.properties └── store.properties /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report of a bug 4 | title: '' 5 | labels: bug 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **To Reproduce** 14 | Steps to reproduce the behaviour: 15 | 1. Go to '...' 16 | 17 | **Expected behaviour** 18 | A clear and concise description of what you expected to happen. 19 | 20 | **Stack trace and errors** 21 | If applicable, add stack traces or error messages to help explain your problem. 22 | 23 | **Platform** 24 | - OS: [e.g. Linux] 25 | - Gaffer Version: [e.g. 1.22.0] 26 | 27 | **Additional context** 28 | Add any other context about the problem here. 29 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest a new Gaffer feature 4 | title: '' 5 | labels: feature 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the new feature you'd like** 11 | A clear and concise description of what you want to happen. 12 | 13 | **Why do you want this feature?** 14 | A clear and concise description of what problem the feature solves. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /.github/release.yml: -------------------------------------------------------------------------------- 1 | changelog: 2 | categories: 3 | - title: Headliners 4 | labels: 5 | - headliner 6 | - title: New Features 7 | labels: 8 | - feature 9 | - title: Enhancements 10 | labels: 11 | - enhancement 12 | - title: Bugs Fixed 13 | labels: 14 | - bug 15 | - title: Documentation 16 | labels: 17 | - documentation 18 | - title: Automation 19 | labels: 20 | - automation 21 | - title: Other changes 22 | labels: 23 | - "*" 24 | -------------------------------------------------------------------------------- /.github/workflows/link-issue.yml: -------------------------------------------------------------------------------- 1 | name: 'Issue Links' 2 | on: 3 | pull_request: 4 | types: [opened] 5 | 6 | jobs: 7 | issue-links: 8 | runs-on: ubuntu-latest 9 | steps: 10 | - uses: tkt-actions/add-issue-links@v1.8.2 11 | with: 12 | repo-token: '${{ secrets.GITHUB_TOKEN }}' 13 | branch-prefix: 'gh-' 14 | link-style: 'body' 15 | resolve: 'true' 16 | -------------------------------------------------------------------------------- /cd/check_modules.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e 4 | 5 | # Need to list all the modules. This needs to be done without using maven 6 | # as we don't want to download dependencies and compile the code first. 7 | # This method isn't very nice but we needed a simple approach that didn't 8 | # require external dependencies that weren't available on travis. 9 | allModules="" 10 | pomPaths=`find . -name "pom.xml"` 11 | 12 | for pomPath in $pomPaths 13 | do 14 | currentModule=`cat $pomPath | grep '^ *' | sort -r | head -1 | cut -d '>' -f 2 | cut -d '<' -f 1` 15 | allModules="$allModules $currentModule" 16 | done 17 | 18 | for module in $allModules 19 | do 20 | if ! grep -q :$module .github/workflows/continuous-integration.yaml 21 | then 22 | echo ".github/workflows/continuous-integration.yaml is missing module $module"; 23 | exit 1; 24 | fi 25 | done 26 | -------------------------------------------------------------------------------- /cd/codesigning.asc.enc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gchq/Gaffer/64acf5f304e8d8ae9e96e3fcaff8f5e011099a50/cd/codesigning.asc.enc -------------------------------------------------------------------------------- /cd/test_gaffer_with_spaced_dir.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e 4 | 5 | mkdir "/tmp/gaffer test/" 6 | cp -R ./* "/tmp/gaffer test/" 7 | cd "/tmp/gaffer test" 8 | mvn package -Ptest 9 | cd - 10 | rm -rf "/tmp/gaffer test/" 11 | -------------------------------------------------------------------------------- /code-style/licence-header-java.txt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright $YEAR Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | -------------------------------------------------------------------------------- /code-style/licence-header-pom.txt: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | -------------------------------------------------------------------------------- /core/access/src/main/java/uk/gov/gchq/gaffer/access/ResourceType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package uk.gov.gchq.gaffer.access; 18 | 19 | public enum ResourceType { 20 | NamedOperation, NamedView, FederatedStoreGraph 21 | } 22 | -------------------------------------------------------------------------------- /core/access/src/main/java/uk/gov/gchq/gaffer/user/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Classes defining a user in the context of executing requests against a graph. 19 | */ 20 | package uk.gov.gchq.gaffer.user; 21 | -------------------------------------------------------------------------------- /core/cache/README.md: -------------------------------------------------------------------------------- 1 | # Cache 2 | 3 | For information on using the Cache, see [the Cache section of the Stores guide on the Gaffer Documentation site](https://gchq.github.io/gaffer-doc/latest/administration-guide/gaffer-stores/store-guide.html#caches). 4 | 5 | For implementation details, see [the Cache page on the Gaffer Documentation site](https://gchq.github.io/gaffer-doc/latest/development-guide/project-structure/components/cache). 6 | -------------------------------------------------------------------------------- /core/cache/src/main/java/uk/gov/gchq/gaffer/cache/exception/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Exception classes for the core cache library. 19 | */ 20 | package uk.gov.gchq.gaffer.cache.exception; 21 | -------------------------------------------------------------------------------- /core/cache/src/main/java/uk/gov/gchq/gaffer/cache/impl/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Simple implementations of the Gaffer cache service. 19 | */ 20 | package uk.gov.gchq.gaffer.cache.impl; 21 | -------------------------------------------------------------------------------- /core/cache/src/main/java/uk/gov/gchq/gaffer/cache/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Classes for the Gaffer cache service. 19 | */ 20 | package uk.gov.gchq.gaffer.cache; 21 | -------------------------------------------------------------------------------- /core/cache/src/main/java/uk/gov/gchq/gaffer/cache/util/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Utilities for the core cache library. 19 | */ 20 | package uk.gov.gchq.gaffer.cache.util; 21 | -------------------------------------------------------------------------------- /core/common-util/src/main/java/uk/gov/gchq/gaffer/commonutil/exception/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Common exceptions. 19 | */ 20 | package uk.gov.gchq.gaffer.commonutil.exception; 21 | -------------------------------------------------------------------------------- /core/common-util/src/main/java/uk/gov/gchq/gaffer/commonutil/pair/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Package containing a simple {@code Pair} class for handling tuples of 19 | * objects. 20 | */ 21 | package uk.gov.gchq.gaffer.commonutil.pair; 22 | -------------------------------------------------------------------------------- /core/common-util/src/test/resources/URLSchema.json: -------------------------------------------------------------------------------- 1 | { 2 | "edges": { 3 | "data": { 4 | "source": "vertex.string", 5 | "destination": "vertex.string", 6 | "directed": "false", 7 | "properties": { 8 | "count": "count.int" 9 | } 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /core/data/README.md: -------------------------------------------------------------------------------- 1 | # Data 2 | 3 | For implementation details, see [the Data page on the Gaffer Documentation site](https://gchq.github.io/gaffer-doc/latest/development-guide/project-structure/components/data). 4 | -------------------------------------------------------------------------------- /core/data/src/main/java/uk/gov/gchq/gaffer/data/element/comparison/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Element comparators. 19 | */ 20 | package uk.gov.gchq.gaffer.data.element.comparison; 21 | -------------------------------------------------------------------------------- /core/data/src/main/java/uk/gov/gchq/gaffer/data/element/function/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Functional operation objects for Gaffer, based on the Koryphe library. 19 | */ 20 | package uk.gov.gchq.gaffer.data.element.function; 21 | -------------------------------------------------------------------------------- /core/data/src/main/java/uk/gov/gchq/gaffer/data/element/id/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Classes related to the identification of Gaffer elements. 19 | */ 20 | package uk.gov.gchq.gaffer.data.element.id; 21 | -------------------------------------------------------------------------------- /core/data/src/main/java/uk/gov/gchq/gaffer/data/element/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Core Java data types relating to Gaffer graph elements (entities and edges). 19 | */ 20 | package uk.gov.gchq.gaffer.data.element; 21 | -------------------------------------------------------------------------------- /core/data/src/main/java/uk/gov/gchq/gaffer/data/elementdefinition/exception/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Exceptions relating to element definitions. 19 | */ 20 | package uk.gov.gchq.gaffer.data.elementdefinition.exception; 21 | -------------------------------------------------------------------------------- /core/data/src/main/java/uk/gov/gchq/gaffer/data/elementdefinition/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Classes which describe the definition of elements. 19 | */ 20 | package uk.gov.gchq.gaffer.data.elementdefinition; 21 | -------------------------------------------------------------------------------- /core/data/src/main/java/uk/gov/gchq/gaffer/data/generator/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Generator classes for transforming between Gaffer elements and domain objects. 19 | */ 20 | package uk.gov.gchq.gaffer.data.generator; 21 | -------------------------------------------------------------------------------- /core/data/src/main/java/uk/gov/gchq/gaffer/data/graph/adjacency/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Data objects used by Gaffer which are related to graph adjacency concepts. 19 | */ 20 | package uk.gov.gchq.gaffer.data.graph.adjacency; 21 | -------------------------------------------------------------------------------- /core/data/src/main/java/uk/gov/gchq/gaffer/data/graph/entity/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Data objects used by Gaffer which are related to graph entity caching. 19 | */ 20 | package uk.gov.gchq.gaffer.data.graph.entity; 21 | -------------------------------------------------------------------------------- /core/data/src/main/java/uk/gov/gchq/gaffer/data/graph/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Data objects used by Gaffer which are related to graph analysis concepts. 19 | */ 20 | package uk.gov.gchq.gaffer.data.graph; 21 | -------------------------------------------------------------------------------- /core/data/src/main/java/uk/gov/gchq/gaffer/data/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Core classes for describing the Gaffer data model. 19 | */ 20 | package uk.gov.gchq.gaffer.data; 21 | -------------------------------------------------------------------------------- /core/data/src/test/java/uk/gov/gchq/gaffer/data/graph/adjacency/SimpleAdjacencyMapsTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package uk.gov.gchq.gaffer.data.graph.adjacency; 18 | 19 | public class SimpleAdjacencyMapsTest { 20 | // Empty 21 | } 22 | -------------------------------------------------------------------------------- /core/data/src/test/resources/openCypherCSVs/Neo4j/BasicEdge.csv: -------------------------------------------------------------------------------- 1 | _start,_end,_type 2 | v1,v2,created 3 | -------------------------------------------------------------------------------- /core/data/src/test/resources/openCypherCSVs/Neo4j/BasicEntities.csv: -------------------------------------------------------------------------------- 1 | _id,_labels 2 | v1,person 3 | v2,software 4 | -------------------------------------------------------------------------------- /core/data/src/test/resources/openCypherCSVs/Neo4j/BasicEntitiesAndEdges.csv: -------------------------------------------------------------------------------- 1 | _id,_labels,_start,_end,_type 2 | v1,person,,, 3 | v2,software,,, 4 | e1,,v1,v2,created 5 | -------------------------------------------------------------------------------- /core/data/src/test/resources/openCypherCSVs/Neo4j/BasicEntityPaddingSpaces.csv: -------------------------------------------------------------------------------- 1 | _id, _labels 2 | v1 , person 3 | v2 , software 4 | -------------------------------------------------------------------------------- /core/data/src/test/resources/openCypherCSVs/Neo4j/BasicEntityPipeDelimited.csv: -------------------------------------------------------------------------------- 1 | _id|_labels 2 | v1|person 3 | v2|software 4 | -------------------------------------------------------------------------------- /core/data/src/test/resources/openCypherCSVs/Neo4j/BasicEntityQuotedValues.csv: -------------------------------------------------------------------------------- 1 | "_id","_labels" 2 | "v1","person" 3 | "v2","software" 4 | -------------------------------------------------------------------------------- /core/data/src/test/resources/openCypherCSVs/Neo4j/EdgeWithID.csv: -------------------------------------------------------------------------------- 1 | _id,_start,_end,_type 2 | e1,v1,v2,created 3 | -------------------------------------------------------------------------------- /core/data/src/test/resources/openCypherCSVs/Neo4j/EdgeWithPropertiesOfMultipleTypes.csv: -------------------------------------------------------------------------------- 1 | _id,_start,_end,_type,int_prop:Int,double_prop:Double,dateTime_prop:DateTime,long_prop:Long,float_prop:Float,boolean_prop:Boolean,char_prop:Char,date_prop:Date,localDate_prop:LocalDate,localDateTime_prop:LocalDateTime,duration_prop:Duration,point_prop:Point,short-prop:Short,byte-prop:Byte 2 | e1,v1,v2,created,4,0.4,2000-01-02 03:04:05,10,0.3,false,K,2000-01-01,2000-01-01,2015-07-04T19:32:24,P14DT16H12M,latitude:'13.10' longitude:'56.41',1,1 3 | -------------------------------------------------------------------------------- /core/data/src/test/resources/openCypherCSVs/Neo4j/EntityWithPropertiesNoTypes.csv: -------------------------------------------------------------------------------- 1 | _id,name,age,lang,_labels 2 | v1,marko,29,,person 3 | v2,lop,,java,software 4 | -------------------------------------------------------------------------------- /core/data/src/test/resources/openCypherCSVs/Neo4j/EntityWithPropertiesOfMultipleTypes.csv: -------------------------------------------------------------------------------- 1 | _id,_labels,string_prop:String,int_prop:Int,double_prop:Double,dateTime_prop:DateTime,long_prop:Long,float_prop:Float,boolean_prop:Boolean,char_prop:Char,date_prop:Date,localDate_prop:LocalDate,localDateTime_prop:LocalDateTime,duration_prop:Duration,point_prop:Point,short-prop:Short,byte-prop:Byte 2 | v1,person,marko,29,0.4,2000-01-02 03:04:05,10,0.3,false,K,2000-01-01,2000-01-01,2015-07-04T19:32:24,P14DT16H12M,latitude:'13.10' longitude:'56.41',1,1 3 | -------------------------------------------------------------------------------- /core/data/src/test/resources/openCypherCSVs/Neo4j/EntityWithPropertyWithUnsupportedType.csv: -------------------------------------------------------------------------------- 1 | _id,_labels,array_prop:Array 2 | v1,person,property 3 | -------------------------------------------------------------------------------- /core/data/src/test/resources/openCypherCSVs/Neptune/BasicEdge.csv: -------------------------------------------------------------------------------- 1 | :START_ID,:END_ID,:TYPE 2 | v1,v2,created 3 | -------------------------------------------------------------------------------- /core/data/src/test/resources/openCypherCSVs/Neptune/BasicEntities.csv: -------------------------------------------------------------------------------- 1 | :ID,:LABEL 2 | v1,person 3 | v2,software 4 | -------------------------------------------------------------------------------- /core/data/src/test/resources/openCypherCSVs/Neptune/BasicEntitiesAndEdges.csv: -------------------------------------------------------------------------------- 1 | :ID,:LABEL,:START_ID,:END_ID,:TYPE 2 | v1,person,,, 3 | v2,software,,, 4 | e1,,v1,v2,created 5 | -------------------------------------------------------------------------------- /core/data/src/test/resources/openCypherCSVs/Neptune/BasicEntityPaddingSpaces.csv: -------------------------------------------------------------------------------- 1 | :ID, :LABEL 2 | v1 , person 3 | v2 , software 4 | -------------------------------------------------------------------------------- /core/data/src/test/resources/openCypherCSVs/Neptune/BasicEntityPipeDelimited.csv: -------------------------------------------------------------------------------- 1 | :ID|:LABEL 2 | v1|person 3 | v2|software 4 | -------------------------------------------------------------------------------- /core/data/src/test/resources/openCypherCSVs/Neptune/BasicEntityQuotedValues.csv: -------------------------------------------------------------------------------- 1 | ":ID",":LABEL" 2 | "v1","person" 3 | "v2","software" 4 | -------------------------------------------------------------------------------- /core/data/src/test/resources/openCypherCSVs/Neptune/EdgeWithID.csv: -------------------------------------------------------------------------------- 1 | :ID,:START_ID,:END_ID,:TYPE 2 | e1,v1,v2,created 3 | -------------------------------------------------------------------------------- /core/data/src/test/resources/openCypherCSVs/Neptune/EdgeWithPropertiesOfMultipleTypes.csv: -------------------------------------------------------------------------------- 1 | :ID,:START_ID,:END_ID,:TYPE,int_prop:Int,double_prop:Double,dateTime_prop:DateTime,long_prop:Long,float_prop:Float,boolean_prop:Boolean,char_prop:Char,date_prop:Date,localDate_prop:LocalDate,localDateTime_prop:LocalDateTime,duration_prop:Duration,point_prop:Point,short-prop:Short,byte-prop:Byte 2 | e1,v1,v2,created,4,0.4,2000-01-02 03:04:05,10,0.3,false,K,2000-01-01,2000-01-01,2015-07-04T19:32:24,P14DT16H12M,latitude:'13.10' longitude:'56.41',1,1 3 | -------------------------------------------------------------------------------- /core/data/src/test/resources/openCypherCSVs/Neptune/EntityWithPropertiesNoTypes.csv: -------------------------------------------------------------------------------- 1 | :ID,name,age,lang,:LABEL 2 | v1,marko,29,,person 3 | v2,lop,,java,software 4 | -------------------------------------------------------------------------------- /core/data/src/test/resources/openCypherCSVs/Neptune/EntityWithPropertiesOfMultipleTypes.csv: -------------------------------------------------------------------------------- 1 | :ID,:LABEL,string_prop:String,int_prop:Int,double_prop:Double,dateTime_prop:DateTime,long_prop:Long,float_prop:Float,boolean_prop:Boolean,char_prop:Char,date_prop:Date,localDate_prop:LocalDate,localDateTime_prop:LocalDateTime,duration_prop:Duration,point_prop:Point,short-prop:Short,byte-prop:Byte 2 | v1,person,marko,29,0.4,2000-01-02 03:04:05,10,0.3,false,K,2000-01-01,2000-01-01,2015-07-04T19:32:24,P14DT16H12M,latitude:'13.10' longitude:'56.41',1,1 3 | -------------------------------------------------------------------------------- /core/data/src/test/resources/openCypherCSVs/Neptune/EntityWithPropertyWithUnsupportedType.csv: -------------------------------------------------------------------------------- 1 | :ID,:LABEL,array_prop:Array 2 | v1,person,property 3 | -------------------------------------------------------------------------------- /core/data/src/test/resources/view.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": { 3 | "entityGroup": {} 4 | }, 5 | "edges": { 6 | "BasicEdge": { 7 | "transientProperties": { 8 | "concatProperty": "String" 9 | }, 10 | "transformFunctions": [ 11 | { 12 | "selection": [ 13 | "property1", 14 | "SOURCE" 15 | ], 16 | "projection": [ 17 | "transientProperty1" 18 | ], 19 | "function": { 20 | "class": "ExampleTransformFunction" 21 | } 22 | } 23 | ], 24 | "postTransformFilterFunctions": [ 25 | { 26 | "selection": [ 27 | "transientProperty1" 28 | ], 29 | "predicate": { 30 | "class": "ExampleFilterFunction" 31 | } 32 | } 33 | ] 34 | } 35 | } 36 | } -------------------------------------------------------------------------------- /core/exception/src/main/java/uk/gov/gchq/gaffer/core/exception/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Gaffer-specific exceptions classes and classes for error generation. 19 | */ 20 | package uk.gov.gchq.gaffer.core.exception; 21 | -------------------------------------------------------------------------------- /core/graph/README.md: -------------------------------------------------------------------------------- 1 | # Graph 2 | 3 | For implementation details, see [the Graph page on the Gaffer Documentation site](https://gchq.github.io/gaffer-doc/latest/development-guide/project-structure/components/graph). 4 | -------------------------------------------------------------------------------- /core/graph/src/main/java/uk/gov/gchq/gaffer/graph/hook/GetFromCacheHook.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package uk.gov.gchq.gaffer.graph.hook; 18 | 19 | 20 | public interface GetFromCacheHook extends GraphHook { 21 | String getSuffixCacheName(); 22 | } 23 | -------------------------------------------------------------------------------- /core/graph/src/main/java/uk/gov/gchq/gaffer/graph/hook/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Contains GraphHooks - pseudo-operations which are executed either before or 19 | * after an operation chain. 20 | */ 21 | package uk.gov.gchq.gaffer.graph.hook; 22 | -------------------------------------------------------------------------------- /core/graph/src/main/java/uk/gov/gchq/gaffer/graph/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Package containing classes relating to the Graph - the core abstraction in the 19 | * Gaffer framework. 20 | */ 21 | package uk.gov.gchq.gaffer.graph; 22 | -------------------------------------------------------------------------------- /core/graph/src/main/java/uk/gov/gchq/gaffer/operation/export/graph/handler/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Handlers for the Gaffer graph export operations. 19 | */ 20 | package uk.gov.gchq.gaffer.operation.export.graph.handler; 21 | -------------------------------------------------------------------------------- /core/graph/src/main/java/uk/gov/gchq/gaffer/operation/export/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Implementations of operations for exporting results from Gaffer. 19 | */ 20 | package uk.gov.gchq.gaffer.operation.export; 21 | -------------------------------------------------------------------------------- /core/graph/src/main/java/uk/gov/gchq/gaffer/operation/export/resultcache/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Classes relating to exporting results to a GafferResultsCache. 19 | */ 20 | package uk.gov.gchq.gaffer.operation.export.resultcache; 21 | -------------------------------------------------------------------------------- /core/graph/src/main/resources/ExportToOtherGraphOperationDeclarations.json: -------------------------------------------------------------------------------- 1 | { 2 | "operations": [ 3 | { 4 | "operation": "uk.gov.gchq.gaffer.operation.export.graph.ExportToOtherGraph", 5 | "handler": { 6 | "class": "uk.gov.gchq.gaffer.operation.export.graph.handler.ExportToOtherGraphHandler" 7 | } 8 | } 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /core/graph/src/main/resources/gafferResultCache/schema/elements.json: -------------------------------------------------------------------------------- 1 | { 2 | "edges": { 3 | "result": { 4 | "source": "jobId", 5 | "destination": "exportKey", 6 | "directed": "true", 7 | "properties": { 8 | "visibility": "visibility", 9 | "timestamp": "timestamp", 10 | "opAuths": "stringSet", 11 | "resultClass": "string", 12 | "result": "json" 13 | }, 14 | "aggregate": false 15 | } 16 | }, 17 | "visibilityProperty": "visibility" 18 | } -------------------------------------------------------------------------------- /core/graph/src/main/resources/gafferResultCache/schema/types.json: -------------------------------------------------------------------------------- 1 | { 2 | "types": { 3 | "jobId": { 4 | "class": "java.lang.String" 5 | }, 6 | "exportKey": { 7 | "class": "java.lang.String" 8 | }, 9 | "true": { 10 | "class": "java.lang.Boolean", 11 | "validateFunctions": [ 12 | { 13 | "class": "uk.gov.gchq.koryphe.impl.predicate.IsTrue" 14 | } 15 | ] 16 | }, 17 | "timestamp": { 18 | "class": "java.lang.Long" 19 | }, 20 | "json": { 21 | "class": "[B" 22 | }, 23 | "string": { 24 | "class": "java.lang.String" 25 | }, 26 | "stringSet": { 27 | "class": "java.util.TreeSet" 28 | }, 29 | "visibility": { 30 | "class": "java.lang.String" 31 | } 32 | } 33 | } -------------------------------------------------------------------------------- /core/graph/src/test/resources/ExportToOtherAuthorisedGraphOperationDeclarations.json: -------------------------------------------------------------------------------- 1 | { 2 | "operations": [ 3 | { 4 | "operation": "uk.gov.gchq.gaffer.operation.export.graph.ExportToOtherAuthorisedGraph", 5 | "handler": { 6 | "class": "uk.gov.gchq.gaffer.operation.export.graph.handler.ExportToOtherAuthorisedGraphHandler", 7 | "idAuths": { 8 | "roadTraffic": [ 9 | "auth1" 10 | ], 11 | "roadTraffic1": [ 12 | "auth1" 13 | ] 14 | } 15 | } 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /core/graph/src/test/resources/functionAuthoriser.json: -------------------------------------------------------------------------------- 1 | { 2 | "class": "uk.gov.gchq.gaffer.graph.hook.FunctionAuthoriser", 3 | "unauthorisedFunctions": [ 4 | "uk.gov.gchq.koryphe.impl.function.Identity", 5 | "uk.gov.gchq.koryphe.impl.function.ToString" 6 | ] 7 | } -------------------------------------------------------------------------------- /core/graph/src/test/resources/opAuthoriser.json: -------------------------------------------------------------------------------- 1 | { 2 | "class": "uk.gov.gchq.gaffer.graph.hook.OperationAuthoriser", 3 | "auths": { 4 | "uk.gov.gchq.gaffer.operation.Operation": [ 5 | "User" 6 | ], 7 | "uk.gov.gchq.gaffer.operation.io.Output": [ 8 | "ReadUser" 9 | ], 10 | "uk.gov.gchq.gaffer.operation.impl.add.AddElements": [ 11 | "WriteUser" 12 | ], 13 | "uk.gov.gchq.gaffer.operation.impl.get.GetAdjacentIds": [ 14 | "SuperUser" 15 | ], 16 | "uk.gov.gchq.gaffer.operation.impl.get.GetAllElements": [ 17 | "AdminUser", 18 | "SuperUser" 19 | ] 20 | } 21 | } -------------------------------------------------------------------------------- /core/graph/src/test/resources/opChainHandler.json: -------------------------------------------------------------------------------- 1 | { 2 | "opScores": { 3 | "uk.gov.gchq.gaffer.operation.Operation": 1, 4 | "uk.gov.gchq.gaffer.operation.impl.add.AddElements": 2, 5 | "uk.gov.gchq.gaffer.operation.impl.get.GetAllElements": 5, 6 | "uk.gov.gchq.gaffer.operation.impl.generate.GenerateObjects": 0 7 | }, 8 | "authScores": { 9 | "User": 2, 10 | "SuperUser": 5 11 | } 12 | } -------------------------------------------------------------------------------- /core/graph/src/test/resources/opChainLimiter.json: -------------------------------------------------------------------------------- 1 | { 2 | "class": "uk.gov.gchq.gaffer.graph.hook.OperationChainLimiter", 3 | "opScores": { 4 | "uk.gov.gchq.gaffer.operation.Operation": 1, 5 | "uk.gov.gchq.gaffer.operation.impl.add.AddElements": 2, 6 | "uk.gov.gchq.gaffer.operation.impl.get.GetAllElements": 5, 7 | "uk.gov.gchq.gaffer.operation.impl.generate.GenerateObjects": 0 8 | }, 9 | "authScores": { 10 | "User": 2, 11 | "SuperUser": 5 12 | } 13 | } -------------------------------------------------------------------------------- /core/graph/src/test/resources/schema/elements.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": { 3 | "BasicEntity": { 4 | "vertex": "id.string", 5 | "properties": { 6 | "stringProperty": "prop.string" 7 | }, 8 | "aggregate": false 9 | } 10 | }, 11 | "edges": { 12 | "BasicEdge": { 13 | "source": "id.string", 14 | "destination": "id.string", 15 | "directed": "directed.either", 16 | "properties": { 17 | "intProperty": "prop.integer", 18 | "count": "prop.count" 19 | }, 20 | "aggregate": false 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /core/graph/src/test/resources/store.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2016-2020 Crown Copyright 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | gaffer.store.class=uk.gov.gchq.gaffer.integration.store.TestStore 17 | gaffer.store.properties.class=uk.gov.gchq.gaffer.store.StoreProperties 18 | -------------------------------------------------------------------------------- /core/operation/README.md: -------------------------------------------------------------------------------- 1 | # Operation 2 | 3 | For information on the use Gaffer Operations, see [the user guide on the Gaffer Documentation site](https://gchq.github.io/gaffer-doc/latest/user-guide/introduction). 4 | 5 | For implementation details, see [the Operation page on the Gaffer Documentation site](https://gchq.github.io/gaffer-doc/latest/development-guide/project-structure/components/operation). 6 | -------------------------------------------------------------------------------- /core/operation/src/main/java/uk/gov/gchq/gaffer/jobtracker/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Data types describing Jobs in Gaffer (long running operations). 19 | */ 20 | package uk.gov.gchq.gaffer.jobtracker; 21 | -------------------------------------------------------------------------------- /core/operation/src/main/java/uk/gov/gchq/gaffer/named/operation/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Classes for handling NamedOperations in Gaffer. 19 | */ 20 | package uk.gov.gchq.gaffer.named.operation; 21 | -------------------------------------------------------------------------------- /core/operation/src/main/java/uk/gov/gchq/gaffer/named/operation/serialisation/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Classes to aid the serialisation of NamedOperations. 19 | */ 20 | package uk.gov.gchq.gaffer.named.operation.serialisation; 21 | -------------------------------------------------------------------------------- /core/operation/src/main/java/uk/gov/gchq/gaffer/operation/data/generator/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Generator implementations for the operation data objects. 19 | */ 20 | package uk.gov.gchq.gaffer.operation.data.generator; 21 | -------------------------------------------------------------------------------- /core/operation/src/main/java/uk/gov/gchq/gaffer/operation/data/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Core data objects for the Gaffer operation library. 19 | */ 20 | package uk.gov.gchq.gaffer.operation.data; 21 | -------------------------------------------------------------------------------- /core/operation/src/main/java/uk/gov/gchq/gaffer/operation/graph/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Extension interfaces for performing filtering on results from operations. 19 | */ 20 | package uk.gov.gchq.gaffer.operation.graph; 21 | -------------------------------------------------------------------------------- /core/operation/src/main/java/uk/gov/gchq/gaffer/operation/impl/add/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Operations for adding elements to a graph. 19 | */ 20 | package uk.gov.gchq.gaffer.operation.impl.add; 21 | -------------------------------------------------------------------------------- /core/operation/src/main/java/uk/gov/gchq/gaffer/operation/impl/compare/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Operations for comparing objects in a graph. 19 | */ 20 | package uk.gov.gchq.gaffer.operation.impl.compare; 21 | -------------------------------------------------------------------------------- /core/operation/src/main/java/uk/gov/gchq/gaffer/operation/impl/export/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Operations for exporting data out of a graph. 19 | */ 20 | package uk.gov.gchq.gaffer.operation.impl.export; 21 | -------------------------------------------------------------------------------- /core/operation/src/main/java/uk/gov/gchq/gaffer/operation/impl/export/set/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Operations for exporting and retrieving objects from a Set. 19 | */ 20 | package uk.gov.gchq.gaffer.operation.impl.export.set; 21 | -------------------------------------------------------------------------------- /core/operation/src/main/java/uk/gov/gchq/gaffer/operation/impl/get/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Operations for retrieving elements from a Gaffer graph. 19 | */ 20 | package uk.gov.gchq.gaffer.operation.impl.get; 21 | -------------------------------------------------------------------------------- /core/operation/src/main/java/uk/gov/gchq/gaffer/operation/impl/job/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Operations for interacting with the Job tracker to get Job details and Job results. 19 | */ 20 | package uk.gov.gchq.gaffer.operation.impl.job; 21 | -------------------------------------------------------------------------------- /core/operation/src/main/java/uk/gov/gchq/gaffer/operation/impl/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Core operation implementations. 19 | */ 20 | package uk.gov.gchq.gaffer.operation.impl; 21 | -------------------------------------------------------------------------------- /core/operation/src/main/java/uk/gov/gchq/gaffer/operation/io/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Extension interfaces for describing operations which define inputs and outputs. 19 | */ 20 | package uk.gov.gchq.gaffer.operation.io; 21 | -------------------------------------------------------------------------------- /core/operation/src/main/java/uk/gov/gchq/gaffer/operation/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Core classes for describing operations in Gaffer. 19 | */ 20 | package uk.gov.gchq.gaffer.operation; 21 | -------------------------------------------------------------------------------- /core/operation/src/main/java/uk/gov/gchq/gaffer/operation/serialisation/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Classes to aid with the serialisation and deserialisation of operations. 19 | */ 20 | package uk.gov.gchq.gaffer.operation.serialisation; 21 | -------------------------------------------------------------------------------- /core/serialisation/README.md: -------------------------------------------------------------------------------- 1 | # Serialisation 2 | 3 | For implementation details, see [the Serialisation page on the Gaffer Documentation site](https://gchq.github.io/gaffer-doc/latest/development-guide/project-structure/components/serialisation). 4 | -------------------------------------------------------------------------------- /core/serialisation/src/main/java/uk/gov/gchq/gaffer/exception/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Exceptions relating to serialisation and deserialisation in Gaffer. 19 | */ 20 | package uk.gov.gchq.gaffer.exception; 21 | -------------------------------------------------------------------------------- /core/serialisation/src/main/java/uk/gov/gchq/gaffer/jsonserialisation/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Classes for handling JSON serialisation and deserialisation. 19 | */ 20 | package uk.gov.gchq.gaffer.jsonserialisation; 21 | -------------------------------------------------------------------------------- /core/serialisation/src/main/java/uk/gov/gchq/gaffer/serialisation/implementation/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Implementations of serialisers for various data types. 19 | */ 20 | package uk.gov.gchq.gaffer.serialisation.implementation; 21 | -------------------------------------------------------------------------------- /core/serialisation/src/main/java/uk/gov/gchq/gaffer/serialisation/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Serialisation classes. 19 | */ 20 | package uk.gov.gchq.gaffer.serialisation; 21 | -------------------------------------------------------------------------------- /core/serialisation/src/main/java/uk/gov/gchq/gaffer/serialisation/util/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Utilities to aid the serialisation and deserialisation of objects in Gaffer. 19 | */ 20 | package uk.gov.gchq.gaffer.serialisation.util; 21 | -------------------------------------------------------------------------------- /core/serialisation/src/test/resources/multiSerialiser.json: -------------------------------------------------------------------------------- 1 | { 2 | "serialisers" : [ { 3 | "key" : 0, 4 | "serialiser" : { 5 | "class" : "uk.gov.gchq.gaffer.serialisation.implementation.StringSerialiser" 6 | }, 7 | "valueClass" : "java.lang.String" 8 | }, { 9 | "key" : 1, 10 | "serialiser" : { 11 | "class" : "uk.gov.gchq.gaffer.serialisation.implementation.raw.CompactRawLongSerialiser" 12 | }, 13 | "valueClass" : "java.lang.Long" 14 | }, { 15 | "key" : 2, 16 | "serialiser" : { 17 | "class" : "uk.gov.gchq.gaffer.serialisation.implementation.raw.CompactRawIntegerSerialiser" 18 | }, 19 | "valueClass" : "java.lang.Integer" 20 | } ] 21 | } -------------------------------------------------------------------------------- /core/store/README.md: -------------------------------------------------------------------------------- 1 | # Store 2 | 3 | For information on the Gaffer Stores, see [the Store guide on the Gaffer Documentation site](https://gchq.github.io/gaffer-doc/latest/administration-guide/gaffer-stores/store-guide). 4 | 5 | For some details on implementing a new store see the [Store developer documentation](https://gchq.github.io/gaffer-doc/latest/development-guide/project-structure/components/store). 6 | -------------------------------------------------------------------------------- /core/store/src/main/java/uk/gov/gchq/gaffer/store/operation/declaration/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Operation declaration classes. 19 | */ 20 | package uk.gov.gchq.gaffer.store.operation.declaration; 21 | -------------------------------------------------------------------------------- /core/store/src/main/java/uk/gov/gchq/gaffer/store/operation/handler/compare/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Handlers for comparison operations. 19 | */ 20 | package uk.gov.gchq.gaffer.store.operation.handler.compare; 21 | -------------------------------------------------------------------------------- /core/store/src/main/java/uk/gov/gchq/gaffer/store/operation/handler/export/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Handlers for export operations. 19 | */ 20 | package uk.gov.gchq.gaffer.store.operation.handler.export; 21 | -------------------------------------------------------------------------------- /core/store/src/main/java/uk/gov/gchq/gaffer/store/operation/handler/export/set/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Handlers for "export to set" operations. 19 | */ 20 | package uk.gov.gchq.gaffer.store.operation.handler.export.set; 21 | -------------------------------------------------------------------------------- /core/store/src/main/java/uk/gov/gchq/gaffer/store/operation/handler/generate/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Handlers for generate operations. 19 | */ 20 | package uk.gov.gchq.gaffer.store.operation.handler.generate; 21 | -------------------------------------------------------------------------------- /core/store/src/main/java/uk/gov/gchq/gaffer/store/operation/handler/job/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Handlers for job operations. 19 | */ 20 | package uk.gov.gchq.gaffer.store.operation.handler.job; 21 | -------------------------------------------------------------------------------- /core/store/src/main/java/uk/gov/gchq/gaffer/store/operation/handler/named/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Handlers for named operations. 19 | */ 20 | package uk.gov.gchq.gaffer.store.operation.handler.named; 21 | -------------------------------------------------------------------------------- /core/store/src/main/java/uk/gov/gchq/gaffer/store/operation/handler/output/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Handlers for output operations. 19 | */ 20 | package uk.gov.gchq.gaffer.store.operation.handler.output; 21 | -------------------------------------------------------------------------------- /core/store/src/main/java/uk/gov/gchq/gaffer/store/operation/handler/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Operation handler implementations. 19 | */ 20 | package uk.gov.gchq.gaffer.store.operation.handler; 21 | -------------------------------------------------------------------------------- /core/store/src/main/java/uk/gov/gchq/gaffer/store/optimiser/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Operation chain optimisation classes. 19 | */ 20 | package uk.gov.gchq.gaffer.store.optimiser; 21 | -------------------------------------------------------------------------------- /core/store/src/main/java/uk/gov/gchq/gaffer/store/schema/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Classes describing the Gaffer schema. 19 | */ 20 | package uk.gov.gchq.gaffer.store.schema; 21 | -------------------------------------------------------------------------------- /core/store/src/main/java/uk/gov/gchq/gaffer/store/serialiser/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Serialiser implementations for stores. 19 | */ 20 | package uk.gov.gchq.gaffer.store.serialiser; 21 | -------------------------------------------------------------------------------- /core/store/src/main/java/uk/gov/gchq/gaffer/store/util/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Utility classes for the store classes. 19 | */ 20 | package uk.gov.gchq.gaffer.store.util; 21 | -------------------------------------------------------------------------------- /core/store/src/test/resources/GetFromEndpointOperationDeclarations.json: -------------------------------------------------------------------------------- 1 | { 2 | "operations": [ 3 | { 4 | "operation": "uk.gov.gchq.gaffer.operation.impl.get.GetFromEndpoint", 5 | "handler": { 6 | "class": "uk.gov.gchq.gaffer.store.operation.handler.GetFromEndpointHandler" 7 | } 8 | } 9 | ] 10 | } -------------------------------------------------------------------------------- /core/store/src/test/resources/authScores.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2016-2020 Crown Copyright 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | TEST_USER=4 17 | TEST_USER_ENHANCED=10 18 | -------------------------------------------------------------------------------- /core/store/src/test/resources/customOpChainLimiter.json: -------------------------------------------------------------------------------- 1 | { 2 | "opScores": { 3 | "uk.gov.gchq.gaffer.operation.Operation": 2, 4 | "uk.gov.gchq.gaffer.operation.impl.generate.GenerateObjects": 0 5 | }, 6 | "authScores": { 7 | "TEST_USER": 4, 8 | "TEST_USER_ENHANCED": 10 9 | } 10 | } -------------------------------------------------------------------------------- /core/store/src/test/resources/gaffer-2.0.0-cache/indexed-disk-cache/NamedOperation_suffix.data: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gchq/Gaffer/64acf5f304e8d8ae9e96e3fcaff8f5e011099a50/core/store/src/test/resources/gaffer-2.0.0-cache/indexed-disk-cache/NamedOperation_suffix.data -------------------------------------------------------------------------------- /core/store/src/test/resources/gaffer-2.0.0-cache/indexed-disk-cache/NamedOperation_suffix.key: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gchq/Gaffer/64acf5f304e8d8ae9e96e3fcaff8f5e011099a50/core/store/src/test/resources/gaffer-2.0.0-cache/indexed-disk-cache/NamedOperation_suffix.key -------------------------------------------------------------------------------- /core/store/src/test/resources/gaffer-2.0.0-cache/indexed-disk-cache/NamedView_backwards_compatability_2.0.0.data: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gchq/Gaffer/64acf5f304e8d8ae9e96e3fcaff8f5e011099a50/core/store/src/test/resources/gaffer-2.0.0-cache/indexed-disk-cache/NamedView_backwards_compatability_2.0.0.data -------------------------------------------------------------------------------- /core/store/src/test/resources/gaffer-2.0.0-cache/indexed-disk-cache/NamedView_backwards_compatability_2.0.0.key: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gchq/Gaffer/64acf5f304e8d8ae9e96e3fcaff8f5e011099a50/core/store/src/test/resources/gaffer-2.0.0-cache/indexed-disk-cache/NamedView_backwards_compatability_2.0.0.key -------------------------------------------------------------------------------- /core/store/src/test/resources/gaffer-2.0.0-cache/indexed-disk-cache/NamedView_suffix.data: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gchq/Gaffer/64acf5f304e8d8ae9e96e3fcaff8f5e011099a50/core/store/src/test/resources/gaffer-2.0.0-cache/indexed-disk-cache/NamedView_suffix.data -------------------------------------------------------------------------------- /core/store/src/test/resources/gaffer-2.0.0-cache/indexed-disk-cache/NamedView_suffix.key: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gchq/Gaffer/64acf5f304e8d8ae9e96e3fcaff8f5e011099a50/core/store/src/test/resources/gaffer-2.0.0-cache/indexed-disk-cache/NamedView_suffix.key -------------------------------------------------------------------------------- /core/store/src/test/resources/gaffer-2.0.0-cache/indexed-disk-cache/jobTrackerRegion.data: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gchq/Gaffer/64acf5f304e8d8ae9e96e3fcaff8f5e011099a50/core/store/src/test/resources/gaffer-2.0.0-cache/indexed-disk-cache/jobTrackerRegion.data -------------------------------------------------------------------------------- /core/store/src/test/resources/gaffer-2.0.0-cache/indexed-disk-cache/jobTrackerRegion.key: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gchq/Gaffer/64acf5f304e8d8ae9e96e3fcaff8f5e011099a50/core/store/src/test/resources/gaffer-2.0.0-cache/indexed-disk-cache/jobTrackerRegion.key -------------------------------------------------------------------------------- /core/store/src/test/resources/gaffer-2.0.0-cache/indexed-disk-cache/namedOperationsRegion.data: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gchq/Gaffer/64acf5f304e8d8ae9e96e3fcaff8f5e011099a50/core/store/src/test/resources/gaffer-2.0.0-cache/indexed-disk-cache/namedOperationsRegion.data -------------------------------------------------------------------------------- /core/store/src/test/resources/gaffer-2.0.0-cache/indexed-disk-cache/namedOperationsRegion.key: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gchq/Gaffer/64acf5f304e8d8ae9e96e3fcaff8f5e011099a50/core/store/src/test/resources/gaffer-2.0.0-cache/indexed-disk-cache/namedOperationsRegion.key -------------------------------------------------------------------------------- /core/store/src/test/resources/gaffer-2.0.0-cache/indexed-disk-cache/test.data: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gchq/Gaffer/64acf5f304e8d8ae9e96e3fcaff8f5e011099a50/core/store/src/test/resources/gaffer-2.0.0-cache/indexed-disk-cache/test.data -------------------------------------------------------------------------------- /core/store/src/test/resources/gaffer-2.0.0-cache/indexed-disk-cache/test.key: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gchq/Gaffer/64acf5f304e8d8ae9e96e3fcaff8f5e011099a50/core/store/src/test/resources/gaffer-2.0.0-cache/indexed-disk-cache/test.key -------------------------------------------------------------------------------- /core/store/src/test/resources/legacyStore.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2024 Crown Copyright 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | gaffer.cache.service.class=uk.gov.gchq.gaffer.cache.impl.HashMapCacheService 17 | -------------------------------------------------------------------------------- /core/store/src/test/resources/opChainLimiterHandler.json: -------------------------------------------------------------------------------- 1 | { 2 | "opScores": { 3 | "uk.gov.gchq.gaffer.operation.Operation": 1, 4 | "uk.gov.gchq.gaffer.operation.impl.generate.GenerateObjects": 0 5 | }, 6 | "authScores": { 7 | "TEST_USER": 4, 8 | "TEST_USER_ENHANCED": 10 9 | } 10 | } -------------------------------------------------------------------------------- /core/store/src/test/resources/openCypherCsv/openCypherBasicEntitiesAndEdges.csv: -------------------------------------------------------------------------------- 1 | :ID,:LABEL,:START_ID,:END_ID,:TYPE 2 | v1,person,,, 3 | v2,software,,, 4 | e1,,v1,v2,created -------------------------------------------------------------------------------- /core/store/src/test/resources/operationDeclarations1.json: -------------------------------------------------------------------------------- 1 | { 2 | "operations": [ 3 | { 4 | "operation": "uk.gov.gchq.gaffer.operation.impl.generate.GenerateElements", 5 | "handler": { 6 | "class": "uk.gov.gchq.gaffer.store.operation.handler.generate.GenerateElementsHandler" 7 | } 8 | } 9 | ] 10 | } -------------------------------------------------------------------------------- /core/store/src/test/resources/operationDeclarations2.json: -------------------------------------------------------------------------------- 1 | { 2 | "operations": [ 3 | { 4 | "operation": "uk.gov.gchq.gaffer.operation.impl.generate.GenerateObjects", 5 | "handler": { 6 | "class": "uk.gov.gchq.gaffer.store.operation.handler.generate.GenerateObjectsHandler" 7 | } 8 | } 9 | ] 10 | } -------------------------------------------------------------------------------- /core/store/src/test/resources/operationDeclarations3.json: -------------------------------------------------------------------------------- 1 | { 2 | "operations": [ 3 | { 4 | "operation": "uk.gov.gchq.gaffer.operation.impl.GetWalks", 5 | "handler": { 6 | "class": "uk.gov.gchq.gaffer.store.operation.handler.GetWalksHandler", 7 | "prune": true 8 | } 9 | } 10 | ] 11 | } -------------------------------------------------------------------------------- /core/store/src/test/resources/schema-aggregation/types.json: -------------------------------------------------------------------------------- 1 | { 2 | "types": { 3 | "id.string": { 4 | "class": "java.lang.String" 5 | }, 6 | "directed.true": { 7 | "class": "java.lang.Boolean" 8 | }, 9 | "count.long": { 10 | "class": "java.lang.Long", 11 | "aggregateFunction": { 12 | "class": "uk.gov.gchq.koryphe.impl.binaryoperator.Sum" 13 | } 14 | }, 15 | "prop.string": { 16 | "class": "java.lang.String", 17 | "aggregateFunction": { 18 | "class": "uk.gov.gchq.gaffer.function.ExampleAggregateFunction" 19 | } 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /core/store/src/test/resources/schema-basic/elements.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": { 3 | "BasicEntity": { 4 | "vertex": "vertex.string", 5 | "properties": { 6 | "count": "prop.int" 7 | } 8 | } 9 | }, 10 | "edges": { 11 | "BasicEdge": { 12 | "source": "vertex.string", 13 | "destination": "vertex.string", 14 | "directed": "directed.either", 15 | "properties": { 16 | "count": "prop.int" 17 | } 18 | } 19 | } 20 | } -------------------------------------------------------------------------------- /core/store/src/test/resources/schema-basic/types.json: -------------------------------------------------------------------------------- 1 | { 2 | "types": { 3 | "vertex.string": { 4 | "class": "java.lang.String" 5 | }, 6 | "directed.either": { 7 | "class": "java.lang.Boolean" 8 | }, 9 | "prop.int": { 10 | "class": "java.lang.Integer", 11 | "aggregateFunction": { 12 | "class": "uk.gov.gchq.koryphe.impl.binaryoperator.Sum" 13 | } 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /core/store/src/test/resources/schema-full/types.json: -------------------------------------------------------------------------------- 1 | { 2 | "types": { 3 | "vertex.string": { 4 | "class": "java.lang.String" 5 | }, 6 | "directed.either": { 7 | "class": "java.lang.Boolean" 8 | }, 9 | "prop.int": { 10 | "class": "java.lang.Integer", 11 | "aggregateFunction": { 12 | "class": "uk.gov.gchq.koryphe.impl.binaryoperator.Sum" 13 | } 14 | }, 15 | "prop.string": { 16 | "class": "java.lang.String", 17 | "aggregateFunction": { 18 | "class": "uk.gov.gchq.gaffer.function.ExampleAggregateFunction" 19 | } 20 | } 21 | } 22 | } -------------------------------------------------------------------------------- /core/store/src/test/resources/schema-groupby/types.json: -------------------------------------------------------------------------------- 1 | { 2 | "types": { 3 | "id.string": { 4 | "class": "java.lang.String" 5 | }, 6 | "directed.true": { 7 | "class": "java.lang.Boolean" 8 | }, 9 | "count.long": { 10 | "class": "java.lang.Long", 11 | "aggregateFunction": { 12 | "class": "uk.gov.gchq.koryphe.impl.binaryoperator.Sum" 13 | } 14 | }, 15 | "prop.string": { 16 | "class": "java.lang.String", 17 | "aggregateFunction": { 18 | "class": "uk.gov.gchq.gaffer.function.ExampleAggregateFunction" 19 | } 20 | } 21 | } 22 | } -------------------------------------------------------------------------------- /core/store/src/test/resources/schema-nested/serialisation/serialisation.json: -------------------------------------------------------------------------------- 1 | { 2 | "vertexSerialiser": { 3 | "class": "uk.gov.gchq.gaffer.serialisation.implementation.JavaSerialiser" 4 | } 5 | } -------------------------------------------------------------------------------- /core/store/src/test/resources/schema-visibility/types.json: -------------------------------------------------------------------------------- 1 | { 2 | "types": { 3 | "vertex.string": { 4 | "class": "java.lang.String" 5 | }, 6 | "directed.either": { 7 | "class": "java.lang.Boolean" 8 | }, 9 | "prop.int": { 10 | "class": "java.lang.Integer", 11 | "aggregateFunction": { 12 | "class": "uk.gov.gchq.koryphe.impl.binaryoperator.Sum" 13 | } 14 | }, 15 | "prop.string": { 16 | "class": "java.lang.String", 17 | "aggregateFunction": { 18 | "class": "uk.gov.gchq.gaffer.function.ExampleAggregateFunction" 19 | } 20 | } 21 | } 22 | } -------------------------------------------------------------------------------- /core/store/src/test/resources/schema/serialisation.json: -------------------------------------------------------------------------------- 1 | { 2 | "vertexSerialiser": { 3 | "class": "uk.gov.gchq.gaffer.serialisation.implementation.JavaSerialiser" 4 | } 5 | } -------------------------------------------------------------------------------- /core/store/src/test/resources/store.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2016-2020 Crown Copyright 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | key1=value1 18 | testKey=value1 19 | -------------------------------------------------------------------------------- /core/store/src/test/resources/store2.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2016-2020 Crown Copyright 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | key2=value2 18 | testKey=value2 19 | -------------------------------------------------------------------------------- /core/store/src/test/resources/suffixes.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2024 Crown Copyright 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | gaffer.cache.service.default.suffix=default 17 | gaffer.cache.service.job.tracker.suffix=jt 18 | gaffer.cache.service.named.view.suffix=nv 19 | gaffer.cache.service.named.operation.suffix=no 20 | -------------------------------------------------------------------------------- /core/type/src/main/java/uk/gov/gchq/gaffer/serialisation/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Serialisation classes for the additional Gaffer types. 19 | */ 20 | package uk.gov.gchq.gaffer.serialisation; 21 | -------------------------------------------------------------------------------- /core/type/src/main/java/uk/gov/gchq/gaffer/types/function/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Function classes for interacting with the Gaffer types classes. 19 | */ 20 | package uk.gov.gchq.gaffer.types.function; 21 | -------------------------------------------------------------------------------- /core/type/src/main/java/uk/gov/gchq/gaffer/types/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Additional data types for use within Gaffer. 19 | */ 20 | package uk.gov.gchq.gaffer.types; 21 | -------------------------------------------------------------------------------- /core/type/src/test/resources/custom-map01.json: -------------------------------------------------------------------------------- 1 | { 2 | "class" : "uk.gov.gchq.gaffer.types.CustomMap", 3 | "keySerialiser" : { 4 | "class" : "uk.gov.gchq.gaffer.serialisation.implementation.StringSerialiser" 5 | }, 6 | "valueSerialiser" : { 7 | "class" : "uk.gov.gchq.gaffer.serialisation.implementation.ordered.OrderedIntegerSerialiser" 8 | }, 9 | "jsonStorage" : [ { 10 | "uk.gov.gchq.gaffer.commonutil.pair.Pair" : { 11 | "first" : "two", 12 | "second" : 2222 13 | } 14 | }, { 15 | "uk.gov.gchq.gaffer.commonutil.pair.Pair" : { 16 | "first" : "one", 17 | "second" : 1111 18 | } 19 | } ] 20 | } -------------------------------------------------------------------------------- /core/type/src/test/resources/custom-map02.json: -------------------------------------------------------------------------------- 1 | { 2 | "class" : "uk.gov.gchq.gaffer.types.CustomMap", 3 | "keySerialiser" : { 4 | "class" : "uk.gov.gchq.gaffer.serialisation.implementation.TreeSetStringSerialiser" 5 | }, 6 | "valueSerialiser" : { 7 | "class" : "uk.gov.gchq.gaffer.serialisation.implementation.ordered.OrderedDoubleSerialiser" 8 | }, 9 | "jsonStorage" : [ { 10 | "uk.gov.gchq.gaffer.commonutil.pair.Pair" : { 11 | "first" : { 12 | "java.util.TreeSet" : [ "k3", "k4" ] 13 | }, 14 | "second" : 22.22 15 | } 16 | }, { 17 | "uk.gov.gchq.gaffer.commonutil.pair.Pair" : { 18 | "first" : { 19 | "java.util.TreeSet" : [ "k1", "k2" ] 20 | }, 21 | "second" : 11.11 22 | } 23 | } ] 24 | } -------------------------------------------------------------------------------- /example/basic/basic-model/src/main/resources/schema/elements.json: -------------------------------------------------------------------------------- 1 | { 2 | "edges": { 3 | "BasicEdge": { 4 | "source": "vertex", 5 | "destination": "vertex", 6 | "directed": "true", 7 | "properties": { 8 | "count": "count" 9 | } 10 | } 11 | }, 12 | "entities": { 13 | "BasicEntity": { 14 | "vertex": "vertex", 15 | "properties": { 16 | "count": "count" 17 | } 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /example/basic/basic-model/src/main/resources/schema/types.json: -------------------------------------------------------------------------------- 1 | { 2 | "types": { 3 | "vertex": { 4 | "class": "java.lang.String" 5 | }, 6 | "count": { 7 | "class": "java.lang.Integer", 8 | "aggregateFunction": { 9 | "class": "uk.gov.gchq.koryphe.impl.binaryoperator.Sum" 10 | } 11 | }, 12 | "true": { 13 | "description": "A simple boolean that must always be true.", 14 | "class": "java.lang.Boolean", 15 | "validateFunctions": [ 16 | { 17 | "class": "uk.gov.gchq.koryphe.impl.predicate.IsTrue" 18 | } 19 | ] 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /example/basic/basic-rest/src/main/webapp/META-INF/context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /example/basic/scripts/start.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Run this script from the top level directory of this repository. 4 | # Usage: ./example/basic/scripts/start.sh [any extra mvn command arguments, e.g -am to build all dependencies] 5 | mvn clean install -pl :basic-rest -Pbasic-demo,quick $@ 6 | -------------------------------------------------------------------------------- /example/federated-demo/basic/scripts/addElements.sh: -------------------------------------------------------------------------------- 1 | curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{ 2 | "class" : "uk.gov.gchq.gaffer.operation.impl.add.AddElements", 3 | "input" : [ { 4 | "group" : "BasicEntity", 5 | "vertex" : "1", 6 | "properties" : { 7 | "count" : 1 8 | }, 9 | "class" : "uk.gov.gchq.gaffer.data.element.Entity" 10 | }, { 11 | "group" : "BasicEdge", 12 | "source" : "1", 13 | "destination" : "2", 14 | "directed" : true, 15 | "properties" : { 16 | "count" : 1 17 | }, 18 | "class" : "uk.gov.gchq.gaffer.data.element.Edge" 19 | } ], 20 | "options": { 21 | "gaffer.federatedstore.operation.graphIds": "mapEntities,mapEdges" 22 | } 23 | }' 'http://localhost:8080/rest/v2/graph/operations/execute' 24 | -------------------------------------------------------------------------------- /example/federated-demo/basic/scripts/getAllGraphIds.sh: -------------------------------------------------------------------------------- 1 | curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{ 2 | "class": "uk.gov.gchq.gaffer.federatedstore.operation.GetAllGraphIds" 3 | }' 'http://localhost:8080/rest/v2/graph/operations/execute' 4 | -------------------------------------------------------------------------------- /example/federated-demo/road-use/json/0_getAllGraphIds.json: -------------------------------------------------------------------------------- 1 | { 2 | "class": "GetAllGraphIds" 3 | } -------------------------------------------------------------------------------- /example/federated-demo/road-use/json/1c_getSchema.json: -------------------------------------------------------------------------------- 1 | { 2 | "class": "GetSchema" 3 | } -------------------------------------------------------------------------------- /example/federated-demo/road-use/json/3a_getElementsFromAllGraphs.json: -------------------------------------------------------------------------------- 1 | { 2 | "class": "GetElements", 3 | "input": [ 4 | "M32:1" 5 | ] 6 | } -------------------------------------------------------------------------------- /example/federated-demo/road-use/json/3b_getElementsFromRoadJunctions.json: -------------------------------------------------------------------------------- 1 | { 2 | "class": "GetElements", 3 | "input": [ 4 | "M32:1" 5 | ], 6 | "options": { 7 | "gaffer.federatedstore.operation.graphIds": "roadJunctions" 8 | } 9 | } -------------------------------------------------------------------------------- /example/federated-demo/road-use/json/3c_hopBetweenGraphs.json: -------------------------------------------------------------------------------- 1 | { 2 | "operations": [ 3 | { 4 | "class": "GetAdjacentIds", 5 | "input": [ 6 | "M32" 7 | ], 8 | "includeIncomingOutGoing": "OUTGOING", 9 | "options": { 10 | "gaffer.federatedstore.operation.graphIds": "roadJunctions" 11 | } 12 | }, 13 | { 14 | "class": "GetElements", 15 | "includeIncomingOutGoing": "OUTGOING", 16 | "options": { 17 | "gaffer.federatedstore.operation.graphIds": "roadUse" 18 | } 19 | } 20 | ] 21 | } -------------------------------------------------------------------------------- /example/federated-demo/road-use/json/4c_getAllElementsFromIndex.json: -------------------------------------------------------------------------------- 1 | { 2 | "class": "uk.gov.gchq.gaffer.operation.impl.get.GetAllElements", 3 | "options": { 4 | "gaffer.federatedstore.operation.graphIds": "propertyIndex" 5 | } 6 | } -------------------------------------------------------------------------------- /example/federated-demo/road-use/json/6_removeGraphs.json: -------------------------------------------------------------------------------- 1 | { 2 | "operations": [ 3 | { 4 | "class": "RemoveGraph", 5 | "graphId": "roadUse" 6 | }, 7 | { 8 | "class": "DiscardOutput" 9 | }, 10 | { 11 | "class": "RemoveGraph", 12 | "graphId": "roadJunctions" 13 | }, 14 | { 15 | "class": "DiscardOutput" 16 | }, 17 | { 18 | "class": "RemoveGraph", 19 | "graphId": "propertyIndex" 20 | } 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /example/federated-demo/scripts/start.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Run this script from the top level directory of this repository. 4 | # Usage: ./example/federated-demo/scripts/start.sh [any extra mvn command arguments, e.g -am to build all dependencies] 5 | mvn clean install -pl :federated-demo -Pfederated-demo,quick $@ 6 | -------------------------------------------------------------------------------- /example/federated-demo/src/main/resources/graphConfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "graphId": "federatedGraph", 3 | "library": { 4 | "class": "uk.gov.gchq.gaffer.store.library.HashMapGraphLibrary" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /example/federated-demo/src/main/resources/operationDeclarations.json: -------------------------------------------------------------------------------- 1 | { 2 | "operations": [ 3 | ] 4 | } -------------------------------------------------------------------------------- /example/real-federated-store/have-a-go-at-operations/curl-operation-examples/curl_add1BasicEdge.sh: -------------------------------------------------------------------------------- 1 | curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d @../json-operation-examples/operation_add1BasicEdge.json 'http://localhost:8080/rest/graph/operations/execute' 2 | -------------------------------------------------------------------------------- /example/real-federated-store/have-a-go-at-operations/curl-operation-examples/curl_add1BasicEdge_alternative.sh: -------------------------------------------------------------------------------- 1 | curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{ 2 | "class" : "uk.gov.gchq.gaffer.operation.impl.add.AddElements", 3 | "input" : [ { 4 | "group" : "BasicEdge", 5 | "source" : "1", 6 | "destination" : "2", 7 | "directed" : true, 8 | "properties" : { 9 | "count" : 1 10 | }, 11 | "class" : "uk.gov.gchq.gaffer.data.element.Edge" 12 | } ], 13 | "options": { 14 | "gaffer.federatedstore.operation.graphIds": "mapEdges" 15 | } 16 | }' 'http://localhost:8080/rest/graph/operations/execute' 17 | -------------------------------------------------------------------------------- /example/real-federated-store/have-a-go-at-operations/curl-operation-examples/curl_addGraphForBasicEdges.sh: -------------------------------------------------------------------------------- 1 | curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d @../json-operation-examples/operation_addGraphMapBasicEdges.json 'http://localhost:8080/rest/graph/operations/execute' 2 | -------------------------------------------------------------------------------- /example/real-federated-store/have-a-go-at-operations/curl-operation-examples/curl_getAllElements.sh: -------------------------------------------------------------------------------- 1 | curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d @../json-operation-examples/operation_getAllElements.json 'http://localhost:8080/rest/graph/operations/execute' 2 | -------------------------------------------------------------------------------- /example/real-federated-store/have-a-go-at-operations/curl-operation-examples/curl_getAllGraphIds.sh: -------------------------------------------------------------------------------- 1 | curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d @../json-operation-examples/operation_getAllGraphIds.json 'http://localhost:8080/rest/graph/operations/execute' 2 | -------------------------------------------------------------------------------- /example/real-federated-store/have-a-go-at-operations/curl-operation-examples/curl_getSchema.sh: -------------------------------------------------------------------------------- 1 | curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d @../json-operation-examples/operation_getSchema.json 'http://localhost:8080/rest/graph/operations/execute' 2 | -------------------------------------------------------------------------------- /example/real-federated-store/have-a-go-at-operations/curl-operation-examples/curl_getSchema_alternative.sh: -------------------------------------------------------------------------------- 1 | curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d ' 2 | { 3 | "class":"getSchema" 4 | }' 'http://localhost:8080/rest/graph/operations/execute' 5 | -------------------------------------------------------------------------------- /example/real-federated-store/have-a-go-at-operations/curl-operation-examples/curl_removeBasicEdgeGraph.sh: -------------------------------------------------------------------------------- 1 | curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d @../json-operation-examples/operation_removeBasicEdgeGraph.json 'http://localhost:8080/rest/graph/operations/execute' 2 | -------------------------------------------------------------------------------- /example/real-federated-store/have-a-go-at-operations/curl-operation-examples/curl_removeBasicEdgeGraph_alternative.sh: -------------------------------------------------------------------------------- 1 | curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{ 2 | "class": "removeGraph", 3 | "graphId": "mapEdges" 4 | }' 'http://localhost:8080/rest/graph/operations/execute' 5 | -------------------------------------------------------------------------------- /example/real-federated-store/have-a-go-at-operations/json-operation-examples/operation_add1BasicEdge.json: -------------------------------------------------------------------------------- 1 | { 2 | "class": "uk.gov.gchq.gaffer.operation.impl.add.AddElements", 3 | "input": [ 4 | { 5 | "group": "BasicEdge", 6 | "source": "1", 7 | "destination": "2", 8 | "directed": true, 9 | "properties": { 10 | "count": 1 11 | }, 12 | "class": "uk.gov.gchq.gaffer.data.element.Edge" 13 | } 14 | ], 15 | "options": { 16 | "gaffer.federatedstore.operation.graphIds": "mapEdges" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /example/real-federated-store/have-a-go-at-operations/json-operation-examples/operation_addGraphAccumuloBasicEdges.json: -------------------------------------------------------------------------------- 1 | { 2 | "class" : "uk.gov.gchq.gaffer.federatedstore.operation.AddGraph", 3 | "graphId" : "ToAccumulo", 4 | "isPublic" : true, 5 | "schema" : { 6 | "edges" : { 7 | "simple" : { 8 | "source" : "String", 9 | "destination" : "String" 10 | } 11 | }, 12 | "types" : { 13 | "String" : { 14 | "class" : "java.lang.String" 15 | } 16 | } 17 | }, 18 | "storeProperties" : { 19 | "gaffer.store.class" : "uk.gov.gchq.gaffer.accumulostore.AccumuloStore", 20 | "accumulo.user" : "root", 21 | "accumulo.instance" : "accumulo", 22 | "gaffer.store.properties.class" : "uk.gov.gchq.gaffer.accumulostore.AccumuloProperties", 23 | "accumulo.zookeepers" : "localhost:2181", 24 | "accumulo.password" : "secret" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /example/real-federated-store/have-a-go-at-operations/json-operation-examples/operation_getAllElements.json: -------------------------------------------------------------------------------- 1 | { 2 | "class": "GetAllElements" 3 | } 4 | -------------------------------------------------------------------------------- /example/real-federated-store/have-a-go-at-operations/json-operation-examples/operation_getAllGraphIds.json: -------------------------------------------------------------------------------- 1 | { 2 | "class": "GetAllGraphIds" 3 | } 4 | -------------------------------------------------------------------------------- /example/real-federated-store/have-a-go-at-operations/json-operation-examples/operation_getSchema.json: -------------------------------------------------------------------------------- 1 | { 2 | "class": "GetSchema" 3 | } 4 | -------------------------------------------------------------------------------- /example/real-federated-store/have-a-go-at-operations/json-operation-examples/operation_removeBasicEdgeGraph.json: -------------------------------------------------------------------------------- 1 | { 2 | "class": "removeGraph", 3 | "graphId": "mapEdges" 4 | } 5 | -------------------------------------------------------------------------------- /example/road-traffic/road-traffic-demo/src/main/webapp/META-INF/context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /example/road-traffic/road-traffic-demo/src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | Road Use Example 8 | 9 | -------------------------------------------------------------------------------- /example/road-traffic/road-traffic-rest/src/main/resources/ExportToOtherAuthorisedGraphOperationDeclarations.json: -------------------------------------------------------------------------------- 1 | { 2 | "operations": [ 3 | { 4 | "operation": "uk.gov.gchq.gaffer.operation.export.graph.ExportToOtherAuthorisedGraph", 5 | "handler": { 6 | "class": "uk.gov.gchq.gaffer.operation.export.graph.handler.ExportToOtherAuthorisedGraphHandler", 7 | "idAuths": { 8 | "roadTraffic": [ 9 | "auth1" 10 | ], 11 | "roadTraffic1": [ 12 | "auth1" 13 | ] 14 | } 15 | } 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /example/road-traffic/road-traffic-rest/src/main/resources/cache-store.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2016-2020 Crown Copyright 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | gaffer.store.class=uk.gov.gchq.gaffer.mapstore.MapStore 17 | gaffer.store.job.executor.threads=1 18 | -------------------------------------------------------------------------------- /example/road-traffic/road-traffic-rest/src/main/webapp/META-INF/context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /example/road-traffic/road-traffic-rest/src/test/resources/graphConfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "graphId": "road_traffic" 3 | } 4 | -------------------------------------------------------------------------------- /example/road-traffic/scripts/start.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Run this script from the top level directory of this repository. 4 | # Usage: ./example/road-traffic/scripts/start.sh [any extra mvn command arguments, e.g -am to build all dependencies] 5 | mvn clean install -pl :road-traffic-demo -Proad-traffic-demo,quick $@ 6 | -------------------------------------------------------------------------------- /integration-test/README.md: -------------------------------------------------------------------------------- 1 | # Integration Test 2 | 3 | For implementation details, see [the Integration Test page on the Gaffer Documentation site](https://gchq.github.io/gaffer-doc/latest/development-guide/project-structure/components/integration-test). 4 | -------------------------------------------------------------------------------- /integration-test/src/test/resources/NeptuneEntitiesAndEdgesWithProperties.csv: -------------------------------------------------------------------------------- 1 | :ID,:LABEL,:TYPE,:START_ID,:END_ID,count:Int,DIRECTED:Boolean 2 | A,BasicEntity,,,,1, 3 | B,BasicEntity,,,,2, 4 | ,,BasicEdge,A,B,1,true -------------------------------------------------------------------------------- /integration-test/src/test/resources/getWalksWithPruningDeclaration.json: -------------------------------------------------------------------------------- 1 | { 2 | "operations": [ 3 | { 4 | "operation": "uk.gov.gchq.gaffer.operation.impl.GetWalks", 5 | "handler": { 6 | "class": "uk.gov.gchq.gaffer.store.operation.handler.GetWalksHandler", 7 | "prune": true, 8 | "maxHops": 10 9 | } 10 | } 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /library/bitmap-library/README.md: -------------------------------------------------------------------------------- 1 | # Bitmap Library 2 | 3 | For implementation details, see [the Bitmap Library page on the Gaffer Documentation site](https://gchq.github.io/gaffer-doc/latest/development-guide/project-structure/components/libraries/bitmap). 4 | -------------------------------------------------------------------------------- /library/bitmap-library/src/main/java/uk/gov/gchq/gaffer/bitmap/function/aggregate/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Aggregation functions for bitmap objects. 19 | */ 20 | package uk.gov.gchq.gaffer.bitmap.function.aggregate; 21 | -------------------------------------------------------------------------------- /library/bitmap-library/src/main/java/uk/gov/gchq/gaffer/bitmap/serialisation/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Serialisation classes for bitmap objects. 19 | */ 20 | package uk.gov.gchq.gaffer.bitmap.serialisation; 21 | -------------------------------------------------------------------------------- /library/bitmap-library/src/main/java/uk/gov/gchq/gaffer/bitmap/serialisation/utils/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Utilities for bitmap classes. 19 | */ 20 | package uk.gov.gchq.gaffer.bitmap.serialisation.utils; 21 | -------------------------------------------------------------------------------- /library/cache-library/hazelcast-cache-service/src/main/java/uk/gov/gchq/gaffer/cache/impl/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * The Hazelcast Gaffer cache service implementation. 19 | */ 20 | package uk.gov.gchq.gaffer.cache.impl; 21 | -------------------------------------------------------------------------------- /library/cache-library/hazelcast-cache-service/src/test/resources/hazelcast.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | test 4 | 5 | 34562 6 | 7 | 8 | -------------------------------------------------------------------------------- /library/cache-library/jcs-cache-service/src/main/java/uk/gov/gchq/gaffer/cache/impl/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * The JCS Gaffer cache service implementation. 19 | */ 20 | package uk.gov.gchq.gaffer.cache.impl; 21 | -------------------------------------------------------------------------------- /library/cache-library/jcs-cache-service/src/test/resources/distributed.ccf: -------------------------------------------------------------------------------- 1 | jcs.default=LTCP 2 | jcs.default.cacheattributes=org.apache.commons.jcs.engine.CompositeCacheAttributes 3 | jcs.default.cacheattributes.MaxObjects=100 4 | jcs.default.cacheattributes.MemoryCacheName=org.apache.commons.jcs.engine.memory.lru.LRUMemoryCache 5 | 6 | jcs.auxiliary.LTCP=org.apache.commons.jcs.auxiliary.lateral.socket.tcp.LateralTCPCacheFactory 7 | jcs.auxiliary.LTCP.attributes=org.apache.commons.jcs.auxiliary.lateral.socket.tcp.TCPLateralCacheAttributes 8 | jcs.auxiliary.LTCP.attributes.TcpServers= 9 | jcs.auxiliary.LTCP.attributes.TcpListenerPort=1110 10 | jcs.auxiliary.LTCP.attributes.UdpDiscoveryEnabled=false 11 | jcs.auxiliary.LTCP.attributes.AllowGet=false 12 | -------------------------------------------------------------------------------- /library/flink-library/README.md: -------------------------------------------------------------------------------- 1 | # Flink Library 2 | 3 | For information on the Flink Operations provided by this library, see [the Flink Operations page on the Gaffer Documentation site](https://gchq.github.io/gaffer-doc/latest/reference/operations-guide/flink). 4 | 5 | For implementation details, see [the Flink Library page on the Gaffer Documentation site](https://gchq.github.io/gaffer-doc/latest/development-guide/project-structure/components/libraries/flink). 6 | -------------------------------------------------------------------------------- /library/flink-library/src/main/resources/FlinkOperationDeclarations.json: -------------------------------------------------------------------------------- 1 | { 2 | "operations": [ 3 | { 4 | "operation": "uk.gov.gchq.gaffer.operation.impl.add.AddElementsFromSocket", 5 | "handler": { 6 | "class": "uk.gov.gchq.gaffer.flink.operation.handler.AddElementsFromSocketHandler" 7 | } 8 | }, 9 | { 10 | "operation": "uk.gov.gchq.gaffer.operation.impl.add.AddElementsFromKafka", 11 | "handler": { 12 | "class": "uk.gov.gchq.gaffer.flink.operation.handler.AddElementsFromKafkaHandler" 13 | } 14 | }, 15 | { 16 | "operation": "uk.gov.gchq.gaffer.operation.impl.add.AddElementsFromFile", 17 | "handler": { 18 | "class": "uk.gov.gchq.gaffer.flink.operation.handler.AddElementsFromFileHandler" 19 | } 20 | } 21 | ] 22 | } -------------------------------------------------------------------------------- /library/flink-library/src/test/resources/schema/elements.json: -------------------------------------------------------------------------------- 1 | { 2 | "edges": { 3 | "edge": { 4 | "source": "string", 5 | "destination": "string", 6 | "directed": "true", 7 | "properties": { 8 | "count": "int" 9 | } 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /library/flink-library/src/test/resources/schema/types.json: -------------------------------------------------------------------------------- 1 | { 2 | "types": { 3 | "int": { 4 | "class": "java.lang.Integer", 5 | "aggregateFunction": { 6 | "class": "uk.gov.gchq.koryphe.impl.binaryoperator.Sum" 7 | } 8 | }, 9 | "string": { 10 | "class": "java.lang.String" 11 | }, 12 | "true": { 13 | "class": "java.lang.Boolean" 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /library/hdfs-library/src/main/java/uk/gov/gchq/gaffer/hdfs/operation/handler/job/tool/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Implementations of the Hadoop Tool interface. 19 | */ 20 | package uk.gov.gchq.gaffer.hdfs.operation.handler.job.tool; 21 | -------------------------------------------------------------------------------- /library/hdfs-library/src/main/java/uk/gov/gchq/gaffer/hdfs/operation/mapper/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Gaffer-specific Hadoop Mapper classes. 19 | */ 20 | package uk.gov.gchq.gaffer.hdfs.operation.mapper; 21 | -------------------------------------------------------------------------------- /library/hdfs-library/src/main/java/uk/gov/gchq/gaffer/hdfs/operation/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Classes relating to operations for interacting with data held in HDFS. 19 | */ 20 | package uk.gov.gchq.gaffer.hdfs.operation; 21 | -------------------------------------------------------------------------------- /library/sketches-library/README.md: -------------------------------------------------------------------------------- 1 | # Sketches Library 2 | 3 | For information on using the Sketches provided by this library, see [the Cardinality guide on the Gaffer Documentation site](https://gchq.github.io/gaffer-doc/latest/user-guide/gaffer-basics/what-is-cardinality). 4 | 5 | For implementation details, see [the Sketches Library page on the Gaffer Documentation site](https://gchq.github.io/gaffer-doc/latest/development-guide/project-structure/components/libraries/sketches). 6 | -------------------------------------------------------------------------------- /library/sketches-library/src/main/java/uk/gov/gchq/gaffer/sketches/serialisation/json/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * JSON serialisation modules for the sketches library. 19 | */ 20 | package uk.gov.gchq.gaffer.sketches.serialisation.json; 21 | -------------------------------------------------------------------------------- /library/spark/README.md: -------------------------------------------------------------------------------- 1 | # Spark Library 2 | 3 | For information on the Spark Operations provided by this library, see [the Spark Operations page on the Gaffer Documentation site](https://gchq.github.io/gaffer-doc/latest/reference/operations-guide/spark). 4 | 5 | For implementation details, see [the Spark Library page on the Gaffer Documentation site](https://gchq.github.io/gaffer-doc/latest/dev/components/libraries/spark). 6 | -------------------------------------------------------------------------------- /library/spark/spark-accumulo-library/src/test/resources/schema-DataFrame/elementsNonstandardTypes.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": { 3 | "BasicEntity": { 4 | "vertex": "string", 5 | "properties": { 6 | "freqMap": "freqMapProperty", 7 | "hllpp": "hyperLogLogPlus" 8 | }, 9 | "aggregate": false 10 | } 11 | }, 12 | "edges": { 13 | "BasicEdge": { 14 | "source": "string", 15 | "destination": "string", 16 | "directed": "directed.either", 17 | "properties": { 18 | "freqMap": "freqMapProperty", 19 | "hllpp": "hyperLogLogPlus" 20 | }, 21 | "aggregate": false 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /library/spark/spark-accumulo-library/src/test/resources/schema-DataFrame/elementsUserDefinedConversion.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": { 3 | "BasicEntity": { 4 | "vertex": "string", 5 | "properties": { 6 | "freqMap": "freqMapProperty", 7 | "hllpp": "hyperLogLogPlus", 8 | "myProperty": "myProperty" 9 | }, 10 | "aggregate": false 11 | } 12 | }, 13 | "edges": { 14 | "BasicEdge": { 15 | "source": "string", 16 | "destination": "string", 17 | "directed": "directed.either", 18 | "properties": { 19 | "freqMap": "freqMapProperty", 20 | "hllpp": "hyperLogLogPlus", 21 | "myProperty": "myProperty" 22 | }, 23 | "aggregate": false 24 | } 25 | } 26 | } -------------------------------------------------------------------------------- /library/spark/spark-accumulo-library/src/test/resources/schema-DataFrame/serialisation.json: -------------------------------------------------------------------------------- 1 | { 2 | "vertexSerialiser": { 3 | "class": "uk.gov.gchq.gaffer.serialisation.implementation.StringSerialiser" 4 | } 5 | } -------------------------------------------------------------------------------- /library/spark/spark-accumulo-library/src/test/resources/schema-GraphFrame/elements.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": { 3 | "BasicEntity": { 4 | "vertex": "string", 5 | "properties": { 6 | "fullname" : "string" 7 | } 8 | }, 9 | "BasicEntity2": { 10 | "vertex": "string", 11 | "properties": { 12 | } 13 | } 14 | }, 15 | "edges": { 16 | "BasicEdge": { 17 | "source": "string", 18 | "destination": "string", 19 | "directed": "directed.either", 20 | "properties": { 21 | "type": "string" 22 | } 23 | }, 24 | "BasicEdge2": { 25 | "source": "string", 26 | "destination": "string", 27 | "directed": "directed.either", 28 | "properties": { 29 | } 30 | } 31 | } 32 | } -------------------------------------------------------------------------------- /library/spark/spark-accumulo-library/src/test/resources/schema-GraphFrame/elementsNonstandardTypes.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": { 3 | "BasicEntity": { 4 | "vertex": "string", 5 | "properties": { 6 | "freqMap": "freqMapProperty", 7 | "hllpp": "hyperLogLogPlus" 8 | }, 9 | "aggregate": false 10 | } 11 | }, 12 | "edges": { 13 | "BasicEdge": { 14 | "source": "string", 15 | "destination": "string", 16 | "directed": "directed.either", 17 | "properties": { 18 | "freqMap": "freqMapProperty", 19 | "hllpp": "hyperLogLogPlus" 20 | }, 21 | "aggregate": false 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /library/spark/spark-accumulo-library/src/test/resources/schema-GraphFrame/elementsUserDefinedConversion.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": { 3 | "BasicEntity": { 4 | "vertex": "string", 5 | "properties": { 6 | "freqMap": "freqMapProperty", 7 | "hllpp": "hyperLogLogPlus", 8 | "myProperty": "myProperty" 9 | }, 10 | "aggregate": false 11 | } 12 | }, 13 | "edges": { 14 | "BasicEdge": { 15 | "source": "string", 16 | "destination": "string", 17 | "directed": "directed.either", 18 | "properties": { 19 | "freqMap": "freqMapProperty", 20 | "hllpp": "hyperLogLogPlus", 21 | "myProperty": "myProperty" 22 | }, 23 | "aggregate": false 24 | } 25 | } 26 | } -------------------------------------------------------------------------------- /library/spark/spark-accumulo-library/src/test/resources/schema-GraphFrame/elementsWithVertexProperty.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": { 3 | "BasicEntity": { 4 | "vertex": "string", 5 | "properties": { 6 | "vertex": "string", 7 | "fullname": "string" 8 | } 9 | }, 10 | "BasicEntity2": { 11 | "vertex": "string", 12 | "properties": { 13 | } 14 | } 15 | }, 16 | "edges": { 17 | "BasicEdge": { 18 | "source": "string", 19 | "destination": "string", 20 | "directed": "directed.either", 21 | "properties": { 22 | "vertex": "string", 23 | "type": "string" 24 | } 25 | }, 26 | "BasicEdge2": { 27 | "source": "string", 28 | "destination": "string", 29 | "directed": "directed.either", 30 | "properties": { 31 | } 32 | } 33 | } 34 | } -------------------------------------------------------------------------------- /library/spark/spark-accumulo-library/src/test/resources/schema-GraphFrame/serialisation.json: -------------------------------------------------------------------------------- 1 | { 2 | "vertexSerialiser": { 3 | "class": "uk.gov.gchq.gaffer.serialisation.implementation.StringSerialiser" 4 | } 5 | } -------------------------------------------------------------------------------- /library/spark/spark-accumulo-library/src/test/resources/schema/elementsForAggregationChecking.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": { 3 | "BasicEntity": { 4 | "vertex": "vertex.string", 5 | "properties": { 6 | "columnQualifier": "colQualProperty", 7 | "count": "simpleProperty" 8 | }, 9 | "groupBy": [ 10 | "columnQualifier" 11 | ] 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /library/spark/spark-accumulo-library/src/test/resources/schema/elementsForValidationChecking.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": { 3 | "BasicEntity": { 4 | "vertex": "vertex.string", 5 | "properties": { 6 | "timestamp": "timestamp" 7 | }, 8 | "aggregate": "false" 9 | } 10 | } 11 | } -------------------------------------------------------------------------------- /library/spark/spark-accumulo-library/src/test/resources/schema/serialisation.json: -------------------------------------------------------------------------------- 1 | { 2 | "vertexSerialiser": { 3 | "class": "uk.gov.gchq.gaffer.serialisation.implementation.StringSerialiser" 4 | } 5 | } -------------------------------------------------------------------------------- /library/spark/spark-accumulo-library/src/test/resources/schema/typesForValidationChecking.json: -------------------------------------------------------------------------------- 1 | { 2 | "types": { 3 | "vertex.string": { 4 | "class": "java.lang.String" 5 | }, 6 | "timestamp": { 7 | "class": "java.lang.Long", 8 | "validateFunctions": [ 9 | { 10 | "class": "uk.gov.gchq.koryphe.impl.predicate.AgeOff", 11 | "ageOffTime": 1000 12 | } 13 | ] 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /library/spark/spark-accumulo-library/src/test/resources/view.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": { 3 | "BasicEntity": {} 4 | }, 5 | "edges": { 6 | "BasicEdge": {} 7 | } 8 | } -------------------------------------------------------------------------------- /library/spark/spark-library/src/main/java/uk/gov/gchq/gaffer/spark/data/generator/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Gaffer generators for creating Elements from Spark datatypes. 19 | */ 20 | package uk.gov.gchq.gaffer.spark.data.generator; 21 | -------------------------------------------------------------------------------- /library/spark/spark-library/src/main/java/uk/gov/gchq/gaffer/spark/operation/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Operation classes for integrating Apache Spark with Gaffer. 19 | */ 20 | package uk.gov.gchq.gaffer.spark.operation; 21 | -------------------------------------------------------------------------------- /library/spark/spark-library/src/main/java/uk/gov/gchq/gaffer/spark/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Classes for integrating Apache Spark with Gaffer. 19 | */ 20 | package uk.gov.gchq.gaffer.spark; 21 | -------------------------------------------------------------------------------- /library/spark/spark-library/src/main/java/uk/gov/gchq/gaffer/spark/utils/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Utilities to assist with reading/writing data from/to the Gaffer using spark. 19 | */ 20 | package uk.gov.gchq.gaffer.spark.utils; 21 | -------------------------------------------------------------------------------- /library/spark/spark-library/src/main/java/uk/gov/gchq/gaffer/spark/utils/scala/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Scala utilities to assist with reading/writing data from/to in spark. 19 | */ 20 | package uk.gov.gchq.gaffer.spark.utils.scala; 21 | -------------------------------------------------------------------------------- /library/time-library/README.md: -------------------------------------------------------------------------------- 1 | # Time Library 2 | 3 | For implementation details, see [the Time Library page on the Gaffer Documentation site](https://gchq.github.io/gaffer-doc/latest/development-guide/project-structure/components/libraries/time). 4 | -------------------------------------------------------------------------------- /library/time-library/src/main/java/uk/gov/gchq/gaffer/time/binaryoperator/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Aggregation classes for the Gaffer timestamp objects. 19 | */ 20 | package uk.gov.gchq.gaffer.time.binaryoperator; 21 | -------------------------------------------------------------------------------- /library/time-library/src/main/java/uk/gov/gchq/gaffer/time/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Classes for handling timestamps in Gaffer store implementations. 19 | */ 20 | package uk.gov.gchq.gaffer.time; 21 | -------------------------------------------------------------------------------- /library/time-library/src/main/java/uk/gov/gchq/gaffer/time/serialisation/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Serialisation classes for the Gaffer timestamp classes. 19 | */ 20 | package uk.gov.gchq.gaffer.time.serialisation; 21 | -------------------------------------------------------------------------------- /library/tinkerpop/src/main/resources/META-INF/services/org.apache.tinkerpop.gremlin.jsr223.GremlinPlugin: -------------------------------------------------------------------------------- 1 | uk.gov.gchq.gaffer.tinkerpop.gremlinplugin.GafferPopGremlinPlugin 2 | -------------------------------------------------------------------------------- /library/tinkerpop/src/test/resources/cucumber.properties: -------------------------------------------------------------------------------- 1 | guice.injector-source=uk.gov.gchq.gaffer.tinkerpop.cucumber.GafferPopFeatureTest$WorldInjectorSource 2 | -------------------------------------------------------------------------------- /library/tinkerpop/src/test/resources/gaffer/tstv-schema/elements.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": { 3 | "tstv": { 4 | "vertex": "tstv", 5 | "properties": { 6 | "name": "tstv" 7 | } 8 | } 9 | }, 10 | "edges": { 11 | "test": { 12 | "source": "tstv", 13 | "destination": "tstv", 14 | "directed": "true", 15 | "properties": { 16 | "weight": "weight.double", 17 | "name": "tstv" 18 | } 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /library/tinkerpop/src/test/resources/gaffer/tstv-schema/types.json: -------------------------------------------------------------------------------- 1 | { 2 | "types": { 3 | "tstv": { 4 | "class": "uk.gov.gchq.gaffer.types.TypeSubTypeValue", 5 | "serialiser": { 6 | "class": "uk.gov.gchq.gaffer.serialisation.TypeSubTypeValueSerialiser" 7 | }, 8 | "aggregateFunction": { 9 | "class": "uk.gov.gchq.koryphe.impl.binaryoperator.First" 10 | } 11 | }, 12 | "true": { 13 | "class": "java.lang.Boolean" 14 | }, 15 | "weight.double": { 16 | "class": "java.lang.Double", 17 | "aggregateFunction": { 18 | "class": "uk.gov.gchq.koryphe.impl.binaryoperator.First" 19 | } 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /library/tinkerpop/src/test/resources/tinkerpop/map-store.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2024 Crown Copyright 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | gaffer.store.class=uk.gov.gchq.gaffer.mapstore.MapStore 17 | gaffer.store.properties.class=uk.gov.gchq.gaffer.mapstore.MapStoreProperties 18 | -------------------------------------------------------------------------------- /logos/Thumbs.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gchq/Gaffer/64acf5f304e8d8ae9e96e3fcaff8f5e011099a50/logos/Thumbs.db -------------------------------------------------------------------------------- /logos/asciiLogo.txt: -------------------------------------------------------------------------------- 1 | 2 | _<^```\ 3 | __>'- ~--^^~ . 4 | _> / ' \ o 5 | _> ,/ . @_^`^) O 6 | - |. /_,__ ) o 7 | _> | / ' (. ________ _____ __O__ 8 | >_(/ _ (_ \ / _____/_____ _/ ____\/ ____\___________ 9 | /.' ( `.\ / \ ___\__ \\ __\\ __\/ __ \_ ___\ 10 | ( ( \ \_\ \/ __ \| | | | \ ___/| | 11 | ( ( \________/(____/|__| |__| \_____|__| 12 | `( `l./^^> __ 13 | `l. / / \ 14 | l | \__/ _ 15 | l( (_) 16 | 17 | -------------------------------------------------------------------------------- /logos/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gchq/Gaffer/64acf5f304e8d8ae9e96e3fcaff8f5e011099a50/logos/icon.png -------------------------------------------------------------------------------- /logos/iconCircle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gchq/Gaffer/64acf5f304e8d8ae9e96e3fcaff8f5e011099a50/logos/iconCircle.png -------------------------------------------------------------------------------- /logos/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gchq/Gaffer/64acf5f304e8d8ae9e96e3fcaff8f5e011099a50/logos/logo.png -------------------------------------------------------------------------------- /logos/logoWithText.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gchq/Gaffer/64acf5f304e8d8ae9e96e3fcaff8f5e011099a50/logos/logoWithText.png -------------------------------------------------------------------------------- /rest-api/accumulo-rest/src/main/resources/disableOperations.json: -------------------------------------------------------------------------------- 1 | { 2 | "operations": [ 3 | { 4 | "operation": "uk.gov.gchq.gaffer.operation.impl.GenerateSplitPointsFromSample", 5 | "handler": null 6 | }, 7 | { 8 | "operation": "uk.gov.gchq.gaffer.hdfs.operation.AddElementsFromHdfs", 9 | "handler": null 10 | }, 11 | { 12 | "operation": "uk.gov.gchq.gaffer.hdfs.operation.SampleDataForSplitPoints", 13 | "handler": null 14 | }, 15 | { 16 | "operation": "uk.gov.gchq.gaffer.accumulostore.operation.hdfs.operation.ImportAccumuloKeyValueFiles", 17 | "handler": null 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /rest-api/common-rest/src/main/resources/disableOperations.json: -------------------------------------------------------------------------------- 1 | { 2 | "operations": [ 3 | { 4 | "operation": "uk.gov.gchq.gaffer.operation.impl.GenerateSplitPointsFromSample", 5 | "handler": null 6 | } 7 | ] 8 | } -------------------------------------------------------------------------------- /rest-api/common-rest/src/main/resources/version.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2018-2023 Crown Copyright 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | gaffer.version=${project.version} 17 | koryphe.version=${koryphe.version} 18 | -------------------------------------------------------------------------------- /rest-api/common-rest/src/test/java/uk/gov/gchq/gaffer/rest/factory/GraphFactoryForTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2016-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package uk.gov.gchq.gaffer.rest.factory; 18 | 19 | public class GraphFactoryForTest extends DefaultGraphFactory { 20 | } 21 | -------------------------------------------------------------------------------- /rest-api/common-rest/src/test/java/uk/gov/gchq/gaffer/rest/factory/UserFactoryForTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2016-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package uk.gov.gchq.gaffer.rest.factory; 18 | 19 | public class UserFactoryForTest extends UnknownUserFactory { 20 | } 21 | -------------------------------------------------------------------------------- /rest-api/common-rest/src/test/resources/schema/schemaNoEdges.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": { 3 | "BasicEntity": { 4 | "vertex": "string", 5 | "properties": { 6 | "count": "int" 7 | } 8 | } 9 | }, 10 | "types": { 11 | "int": { 12 | "class": "java.lang.Integer", 13 | "aggregateFunction": { 14 | "class": "uk.gov.gchq.koryphe.impl.binaryoperator.Sum" 15 | } 16 | }, 17 | "string": { 18 | "class": "java.lang.String" 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /rest-api/common-rest/src/test/resources/schema/schemaNoEntities.json: -------------------------------------------------------------------------------- 1 | { 2 | "edges": { 3 | "BasicEdge": { 4 | "source": "string", 5 | "destination": "string", 6 | "directed": "true", 7 | "properties": { 8 | "count": "int" 9 | } 10 | } 11 | }, 12 | "types": { 13 | "int": { 14 | "class": "java.lang.Integer", 15 | "aggregateFunction": { 16 | "class": "uk.gov.gchq.koryphe.impl.binaryoperator.Sum" 17 | } 18 | }, 19 | "string": { 20 | "class": "java.lang.String" 21 | }, 22 | "true": { 23 | "class": "java.lang.Boolean", 24 | "validateFunctions": [ 25 | { 26 | "class": "uk.gov.gchq.koryphe.impl.predicate.IsTrue" 27 | } 28 | ] 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /rest-api/core-rest/README.md: -------------------------------------------------------------------------------- 1 | # Core REST API 2 | 3 | For implementation details, see [the Core REST API page on the Gaffer Documentation site](https://gchq.github.io/gaffer-doc/latest/development-guide/project-structure/components/core-rest). 4 | -------------------------------------------------------------------------------- /rest-api/core-rest/dependencies/swagger/css/reset.css: -------------------------------------------------------------------------------- 1 | a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}table{border-collapse:collapse;border-spacing:0} -------------------------------------------------------------------------------- /rest-api/core-rest/dependencies/swagger/css/typography.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gchq/Gaffer/64acf5f304e8d8ae9e96e3fcaff8f5e011099a50/rest-api/core-rest/dependencies/swagger/css/typography.css -------------------------------------------------------------------------------- /rest-api/core-rest/dependencies/swagger/fonts/DroidSans-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gchq/Gaffer/64acf5f304e8d8ae9e96e3fcaff8f5e011099a50/rest-api/core-rest/dependencies/swagger/fonts/DroidSans-Bold.ttf -------------------------------------------------------------------------------- /rest-api/core-rest/dependencies/swagger/fonts/DroidSans.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gchq/Gaffer/64acf5f304e8d8ae9e96e3fcaff8f5e011099a50/rest-api/core-rest/dependencies/swagger/fonts/DroidSans.ttf -------------------------------------------------------------------------------- /rest-api/core-rest/dependencies/swagger/images/throbber.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gchq/Gaffer/64acf5f304e8d8ae9e96e3fcaff8f5e011099a50/rest-api/core-rest/dependencies/swagger/images/throbber.gif -------------------------------------------------------------------------------- /rest-api/core-rest/dependencies/swagger/lib/highlight.9.1.0.pack_extended.js: -------------------------------------------------------------------------------- 1 | "use strict";!function(){var h,l;h=hljs.configure,hljs.configure=function(l){var i=l.highlightSizeThreshold;hljs.highlightSizeThreshold=i===+i?i:null,h.call(this,l)},l=hljs.highlightBlock,hljs.highlightBlock=function(h){var i=h.innerHTML,g=hljs.highlightSizeThreshold;(null==g||g>i.length)&&l.call(hljs,h)}}(); 2 | -------------------------------------------------------------------------------- /rest-api/core-rest/dependencies/swagger/lib/jquery.slideto.min.js: -------------------------------------------------------------------------------- 1 | !function(i){i.fn.slideto=function(o){return o=i.extend({slide_duration:"slow",highlight_duration:3e3,highlight:!0,highlight_color:"#FFFF99"},o),this.each(function(){obj=i(this),i("body").animate({scrollTop:obj.offset().top},o.slide_duration,function(){o.highlight&&i.ui.version&&obj.effect("highlight",{color:o.highlight_color},o.highlight_duration)})})}}(jQuery); 2 | -------------------------------------------------------------------------------- /rest-api/core-rest/dependencies/swagger/lib/jquery.wiggle.min.js: -------------------------------------------------------------------------------- 1 | jQuery.fn.wiggle=function(e){var a={speed:50,wiggles:3,travel:5,callback:null},e=jQuery.extend(a,e);return this.each(function(){var a=this,l=(jQuery(this).wrap('
').css("position","relative"),0);for(i=1;i<=e.wiggles;i++)jQuery(this).animate({left:"-="+e.travel},e.speed).animate({left:"+="+2*e.travel},2*e.speed).animate({left:"-="+e.travel},e.speed,function(){l++,jQuery(a).parent().hasClass("wiggle-wrap")&&jQuery(a).parent().replaceWith(a),l==e.wiggles&&jQuery.isFunction(e.callback)&&e.callback()})})}; 2 | -------------------------------------------------------------------------------- /rest-api/core-rest/dependencies/swagger/lib/object-assign-pollyfill.js: -------------------------------------------------------------------------------- 1 | "function"!=typeof Object.assign&&!function(){Object.assign=function(n){"use strict";if(void 0===n||null===n)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(n),o=1;o 2 | var qp = null; 3 | if(/code|token|error/.test(window.location.hash)) { 4 | qp = location.hash.substring(1); 5 | } 6 | else { 7 | qp = location.search.substring(1); 8 | } 9 | qp = qp ? JSON.parse('{"' + qp.replace(/&/g, '","').replace(/=/g,'":"') + '"}', 10 | function(key, value) { 11 | return key===""?value:decodeURIComponent(value) } 12 | ):{} 13 | 14 | if (window.opener.swaggerUiAuth.tokenUrl) 15 | window.opener.processOAuthCode(qp); 16 | else 17 | window.opener.onOAuthComplete(qp); 18 | 19 | window.close(); 20 | 21 | -------------------------------------------------------------------------------- /rest-api/core-rest/src/main/java/uk/gov/gchq/gaffer/rest/filter/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Servlet filters for the Gaffer REST API. 19 | */ 20 | package uk.gov.gchq.gaffer.rest.filter; 21 | -------------------------------------------------------------------------------- /rest-api/core-rest/src/main/java/uk/gov/gchq/gaffer/rest/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Classes which provide the Gaffer REST API. 19 | */ 20 | package uk.gov.gchq.gaffer.rest; 21 | -------------------------------------------------------------------------------- /rest-api/core-rest/src/main/java/uk/gov/gchq/gaffer/rest/serialisation/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Serialisation utilities for the Gaffer REST API. 19 | */ 20 | package uk.gov.gchq.gaffer.rest.serialisation; 21 | -------------------------------------------------------------------------------- /rest-api/core-rest/src/main/java/uk/gov/gchq/gaffer/rest/service/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Service implementations for Gaffer, containing the implemented RESTful endpoints. 19 | */ 20 | package uk.gov.gchq.gaffer.rest.service; 21 | -------------------------------------------------------------------------------- /rest-api/core-rest/src/main/java/uk/gov/gchq/gaffer/rest/service/v1/example/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * The examples service implementation for v1 of the Gaffer REST API. 19 | */ 20 | package uk.gov.gchq.gaffer.rest.service.v1.example; 21 | -------------------------------------------------------------------------------- /rest-api/core-rest/src/main/java/uk/gov/gchq/gaffer/rest/service/v1/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Service implementations for v1 of the Gaffer REST API. 19 | */ 20 | package uk.gov.gchq.gaffer.rest.service.v1; 21 | -------------------------------------------------------------------------------- /rest-api/core-rest/src/main/java/uk/gov/gchq/gaffer/rest/service/v2/example/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * The examples service implementation for v2 of the Gaffer REST API. 19 | */ 20 | package uk.gov.gchq.gaffer.rest.service.v2.example; 21 | -------------------------------------------------------------------------------- /rest-api/core-rest/src/main/java/uk/gov/gchq/gaffer/rest/service/v2/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Service implementations for v2 of the Gaffer REST API. 19 | */ 20 | package uk.gov.gchq.gaffer.rest.service.v2; 21 | -------------------------------------------------------------------------------- /rest-api/core-rest/src/main/webapp/META-INF/context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /rest-api/core-rest/src/main/webapp/WEB-INF/jboss-web.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | rest 4 | 5 | -------------------------------------------------------------------------------- /rest-api/core-rest/src/main/webapp/css/custom.css: -------------------------------------------------------------------------------- 1 | /* Empty by default. To include your own custom CSS you can override this file. */ -------------------------------------------------------------------------------- /rest-api/core-rest/src/main/webapp/css/gaffer.css: -------------------------------------------------------------------------------- 1 | .swagger-section .swagger-ui-wrap{ 2 | max-width: 95%; 3 | } 4 | 5 | #operations_executeChunked .submit { 6 | display: none !important; 7 | } 8 | 9 | #operations_executeChunked_1 .submit { 10 | display: none !important; 11 | } 12 | 13 | .banner { 14 | background-color: red; 15 | color: #FFF; 16 | text-align: center; 17 | text-overflow: ellipsis; 18 | overflow: hidden; 19 | white-space: nowrap; 20 | word-wrap: break-word; 21 | padding: 3px 10px; 22 | font-weight: 700; 23 | } -------------------------------------------------------------------------------- /rest-api/core-rest/src/main/webapp/images/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gchq/Gaffer/64acf5f304e8d8ae9e96e3fcaff8f5e011099a50/rest-api/core-rest/src/main/webapp/images/android-chrome-192x192.png -------------------------------------------------------------------------------- /rest-api/core-rest/src/main/webapp/images/android-chrome-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gchq/Gaffer/64acf5f304e8d8ae9e96e3fcaff8f5e011099a50/rest-api/core-rest/src/main/webapp/images/android-chrome-512x512.png -------------------------------------------------------------------------------- /rest-api/core-rest/src/main/webapp/images/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gchq/Gaffer/64acf5f304e8d8ae9e96e3fcaff8f5e011099a50/rest-api/core-rest/src/main/webapp/images/apple-touch-icon.png -------------------------------------------------------------------------------- /rest-api/core-rest/src/main/webapp/images/browserconfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | #2d89ef 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /rest-api/core-rest/src/main/webapp/images/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gchq/Gaffer/64acf5f304e8d8ae9e96e3fcaff8f5e011099a50/rest-api/core-rest/src/main/webapp/images/favicon-16x16.png -------------------------------------------------------------------------------- /rest-api/core-rest/src/main/webapp/images/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gchq/Gaffer/64acf5f304e8d8ae9e96e3fcaff8f5e011099a50/rest-api/core-rest/src/main/webapp/images/favicon-32x32.png -------------------------------------------------------------------------------- /rest-api/core-rest/src/main/webapp/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gchq/Gaffer/64acf5f304e8d8ae9e96e3fcaff8f5e011099a50/rest-api/core-rest/src/main/webapp/images/favicon.ico -------------------------------------------------------------------------------- /rest-api/core-rest/src/main/webapp/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gchq/Gaffer/64acf5f304e8d8ae9e96e3fcaff8f5e011099a50/rest-api/core-rest/src/main/webapp/images/logo.png -------------------------------------------------------------------------------- /rest-api/core-rest/src/main/webapp/images/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "", 3 | "icons": [ 4 | { 5 | "src": "/android-chrome-192x192.png", 6 | "sizes": "192x192", 7 | "type": "image/png" 8 | }, 9 | { 10 | "src": "/android-chrome-512x512.png", 11 | "sizes": "512x512", 12 | "type": "image/png" 13 | } 14 | ], 15 | "theme_color": "#ffffff", 16 | "background_color": "#ffffff", 17 | "display": "standalone" 18 | } -------------------------------------------------------------------------------- /rest-api/core-rest/src/test/resources/graphConfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "graphId": "graphId1", 3 | "hooks": [ 4 | { 5 | "class": "uk.gov.gchq.gaffer.graph.hook.OperationAuthoriser", 6 | "auths": { 7 | "uk.gov.gchq.gaffer.operation.impl.get.GetAllElements": [ 8 | "EnhancedUser" 9 | ], 10 | "uk.gov.gchq.gaffer.operation.impl.output.ToSingletonList": [ 11 | "ListUser" 12 | ] 13 | } 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /rest-api/core-rest/src/test/resources/junit-platform.properties: -------------------------------------------------------------------------------- 1 | junit.jupiter.testclass.order.default = org.junit.jupiter.api.ClassOrderer$ClassName 2 | -------------------------------------------------------------------------------- /rest-api/core-rest/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker: -------------------------------------------------------------------------------- 1 | mock-maker-inline 2 | -------------------------------------------------------------------------------- /rest-api/core-rest/src/test/resources/version.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2023 Crown Copyright 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | gaffer.version=${project.version} 17 | koryphe.version=${koryphe.version} 18 | -------------------------------------------------------------------------------- /rest-api/spring-rest/README.md: -------------------------------------------------------------------------------- 1 | # Spring REST API 2 | 3 | For implementation details, see [the Spring REST API page on the Gaffer Documentation site](https://gchq.github.io/gaffer-doc/latest/development-guide/project-structure/components/spring-rest). 4 | -------------------------------------------------------------------------------- /rest-api/spring-rest/src/main/resources/graphConfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "graphId": "demo" 3 | } -------------------------------------------------------------------------------- /rest-api/spring-rest/src/main/resources/schemas/elements.json: -------------------------------------------------------------------------------- 1 | { 2 | "edges": { 3 | "BasicEdge": { 4 | "source": "vertex", 5 | "destination": "vertex", 6 | "directed": "true", 7 | "properties": { 8 | "count": "count" 9 | } 10 | } 11 | }, 12 | "entities": { 13 | "BasicEntity": { 14 | "vertex": "vertex", 15 | "properties": { 16 | "count": "count" 17 | } 18 | } 19 | } 20 | } -------------------------------------------------------------------------------- /rest-api/spring-rest/src/main/resources/schemas/types.json: -------------------------------------------------------------------------------- 1 | { 2 | "types": { 3 | "vertex": { 4 | "class": "java.lang.String" 5 | }, 6 | "count": { 7 | "class": "java.lang.Integer", 8 | "aggregateFunction": { 9 | "class": "uk.gov.gchq.koryphe.impl.binaryoperator.Sum" 10 | } 11 | }, 12 | "true": { 13 | "description": "A simple boolean that must always be true.", 14 | "class": "java.lang.Boolean", 15 | "validateFunctions": [ 16 | { 17 | "class": "uk.gov.gchq.koryphe.impl.predicate.IsTrue" 18 | } 19 | ] 20 | } 21 | } 22 | } -------------------------------------------------------------------------------- /rest-api/spring-rest/src/main/resources/static/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gchq/Gaffer/64acf5f304e8d8ae9e96e3fcaff8f5e011099a50/rest-api/spring-rest/src/main/resources/static/images/logo.png -------------------------------------------------------------------------------- /rest-api/spring-rest/src/test/resources/ResultCacheExportOperations.json: -------------------------------------------------------------------------------- 1 | { 2 | "operations": [ 3 | { 4 | "operation": "uk.gov.gchq.gaffer.operation.impl.export.resultcache.ExportToGafferResultCache", 5 | "handler": { 6 | "class": "uk.gov.gchq.gaffer.operation.export.resultcache.handler.ExportToGafferResultCacheHandler", 7 | "graphId": "resultCacheGraph", 8 | "storePropertiesPath": "cache-store.properties" 9 | } 10 | }, 11 | { 12 | "operation": "uk.gov.gchq.gaffer.operation.impl.export.resultcache.GetGafferResultCacheExport", 13 | "handler": { 14 | "class": "uk.gov.gchq.gaffer.operation.export.resultcache.handler.GetGafferResultCacheExportHandler", 15 | "graphId": "resultCacheGraph", 16 | "storePropertiesPath": "cache-store.properties" 17 | } 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /rest-api/spring-rest/src/test/resources/cache-store.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2020 Crown Copyright 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | gaffer.store.class=uk.gov.gchq.gaffer.mapstore.MapStore 17 | gaffer.store.mapstore.static=true 18 | -------------------------------------------------------------------------------- /rest-api/spring-rest/src/test/resources/graphConfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "graphId": "graphId1", 3 | "hooks": [ 4 | { 5 | "class": "uk.gov.gchq.gaffer.graph.hook.OperationAuthoriser", 6 | "auths": { 7 | "uk.gov.gchq.gaffer.operation.impl.get.GetAllElements": [ 8 | "EnhancedUser" 9 | ], 10 | "uk.gov.gchq.gaffer.operation.impl.output.ToSingletonList": [ 11 | "ListUser" 12 | ] 13 | } 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /rest-api/spring-rest/src/test/resources/version.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2023 Crown Copyright 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | gaffer.version=${project.version} 17 | koryphe.version=${koryphe.version} 18 | -------------------------------------------------------------------------------- /store-implementation/accumulo-store/README.md: -------------------------------------------------------------------------------- 1 | # Accumulo Store 2 | 3 | For information on the Accumulo Store, see [the Accumulo Store page on the Gaffer Documentation site](https://gchq.github.io/gaffer-doc/latest/administration-guide/gaffer-stores/accumulo-store). 4 | 5 | For implementation details, see [the Accumulo Store implementation page on the Gaffer Documentation site](https://gchq.github.io/gaffer-doc/latest/development-guide/project-structure/components/accumulo-store). 6 | -------------------------------------------------------------------------------- /store-implementation/accumulo-store/src/test/resources/ImportExportOperationDeclarations.json: -------------------------------------------------------------------------------- 1 | { 2 | "operations": [ 3 | { 4 | "operation": "uk.gov.gchq.gaffer.operation.impl.export.localfile.ImportFromLocalFile", 5 | "handler": { 6 | "class": "uk.gov.gchq.gaffer.store.operation.handler.export.localfile.ImportFromLocalFileHandler" 7 | } 8 | }, 9 | { 10 | "operation": "uk.gov.gchq.gaffer.operation.impl.export.localfile.ExportToLocalFile", 11 | "handler": { 12 | "class": "uk.gov.gchq.gaffer.store.operation.handler.export.localfile.ExportToLocalFileHandler" 13 | } 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /store-implementation/accumulo-store/src/test/resources/empty-store.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2020 Crown Copyright 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | -------------------------------------------------------------------------------- /store-implementation/accumulo-store/src/test/resources/schema2/elements.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": { 3 | "BasicEntity2": { 4 | "vertex": "vertex.string", 5 | "properties": { 6 | "count": "simpleProperty" 7 | } 8 | } 9 | }, 10 | "edges": { 11 | "BasicEdge2": { 12 | "source": "vertex.string", 13 | "destination": "vertex.string", 14 | "directed": "directed.either", 15 | "properties": { 16 | "count": "simpleProperty" 17 | } 18 | } 19 | } 20 | } -------------------------------------------------------------------------------- /store-implementation/accumulo-store/src/test/resources/schema2/types.json: -------------------------------------------------------------------------------- 1 | { 2 | "types": { 3 | "vertex.string": { 4 | "class": "java.lang.String" 5 | }, 6 | "directed.either": { 7 | "class": "java.lang.Boolean" 8 | }, 9 | "simpleProperty": { 10 | "class": "java.lang.Integer", 11 | "aggregateFunction": { 12 | "class": "uk.gov.gchq.koryphe.impl.binaryoperator.Sum" 13 | } 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /store-implementation/accumulo-store/src/test/resources/view.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": { 3 | "BasicEntity": {} 4 | }, 5 | "edges": { 6 | "BasicEdge": {} 7 | } 8 | } -------------------------------------------------------------------------------- /store-implementation/federated-store/README.md: -------------------------------------------------------------------------------- 1 | # Federated Store 2 | 3 | For information on the Federated Store, see [the Federated Store page on the Gaffer Documentation site](https://gchq.github.io/gaffer-doc/latest/administration-guide/gaffer-stores/federated-store). 4 | -------------------------------------------------------------------------------- /store-implementation/federated-store/src/test/resources/ImportExportOperationDeclarations.json: -------------------------------------------------------------------------------- 1 | { 2 | "operations": [ 3 | { 4 | "operation": "uk.gov.gchq.gaffer.operation.impl.export.localfile.ImportFromLocalFile", 5 | "handler": { 6 | "class": "uk.gov.gchq.gaffer.store.operation.handler.export.localfile.ImportFromLocalFileHandler" 7 | } 8 | }, 9 | { 10 | "operation": "uk.gov.gchq.gaffer.operation.impl.export.localfile.ExportToLocalFile", 11 | "handler": { 12 | "class": "uk.gov.gchq.gaffer.store.operation.handler.export.localfile.ExportToLocalFileHandler" 13 | } 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /store-implementation/federated-store/src/test/resources/configuredProperties/configuredGraphIds.json: -------------------------------------------------------------------------------- 1 | [ 2 | "selectedGraphId" 3 | ] -------------------------------------------------------------------------------- /store-implementation/federated-store/src/test/resources/configuredProperties/configuredGraphIdsFileInvalid.json: -------------------------------------------------------------------------------- 1 | "invalid" -------------------------------------------------------------------------------- /store-implementation/federated-store/src/test/resources/configuredProperties/federatedStoreConfiguredGraphIds.json: -------------------------------------------------------------------------------- 1 | { 2 | "class": "FederatedStore", 3 | "storeConfiguredGraphIds": [ "selectedGraphId" ] 4 | } -------------------------------------------------------------------------------- /store-implementation/federated-store/src/test/resources/gaffer-2.1.0-cache/indexed-disk-cache/federatedStoreGraphs_backwards_compatability_2.1.0.data: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gchq/Gaffer/64acf5f304e8d8ae9e96e3fcaff8f5e011099a50/store-implementation/federated-store/src/test/resources/gaffer-2.1.0-cache/indexed-disk-cache/federatedStoreGraphs_backwards_compatability_2.1.0.data -------------------------------------------------------------------------------- /store-implementation/federated-store/src/test/resources/gaffer-2.1.0-cache/indexed-disk-cache/federatedStoreGraphs_backwards_compatability_2.1.0.key: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gchq/Gaffer/64acf5f304e8d8ae9e96e3fcaff8f5e011099a50/store-implementation/federated-store/src/test/resources/gaffer-2.1.0-cache/indexed-disk-cache/federatedStoreGraphs_backwards_compatability_2.1.0.key -------------------------------------------------------------------------------- /store-implementation/federated-store/src/test/resources/gaffer-2.1.0-cache/indexed-disk-cache/jobTrackerRegion.data: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gchq/Gaffer/64acf5f304e8d8ae9e96e3fcaff8f5e011099a50/store-implementation/federated-store/src/test/resources/gaffer-2.1.0-cache/indexed-disk-cache/jobTrackerRegion.data -------------------------------------------------------------------------------- /store-implementation/federated-store/src/test/resources/gaffer-2.1.0-cache/indexed-disk-cache/jobTrackerRegion.key: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gchq/Gaffer/64acf5f304e8d8ae9e96e3fcaff8f5e011099a50/store-implementation/federated-store/src/test/resources/gaffer-2.1.0-cache/indexed-disk-cache/jobTrackerRegion.key -------------------------------------------------------------------------------- /store-implementation/federated-store/src/test/resources/gaffer-2.1.0-cache/indexed-disk-cache/namedOperationsRegion.data: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gchq/Gaffer/64acf5f304e8d8ae9e96e3fcaff8f5e011099a50/store-implementation/federated-store/src/test/resources/gaffer-2.1.0-cache/indexed-disk-cache/namedOperationsRegion.data -------------------------------------------------------------------------------- /store-implementation/federated-store/src/test/resources/gaffer-2.1.0-cache/indexed-disk-cache/namedOperationsRegion.key: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gchq/Gaffer/64acf5f304e8d8ae9e96e3fcaff8f5e011099a50/store-implementation/federated-store/src/test/resources/gaffer-2.1.0-cache/indexed-disk-cache/namedOperationsRegion.key -------------------------------------------------------------------------------- /store-implementation/federated-store/src/test/resources/gaffer-2.1.0-cache/indexed-disk-cache/test.data: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gchq/Gaffer/64acf5f304e8d8ae9e96e3fcaff8f5e011099a50/store-implementation/federated-store/src/test/resources/gaffer-2.1.0-cache/indexed-disk-cache/test.data -------------------------------------------------------------------------------- /store-implementation/federated-store/src/test/resources/gaffer-2.1.0-cache/indexed-disk-cache/test.key: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gchq/Gaffer/64acf5f304e8d8ae9e96e3fcaff8f5e011099a50/store-implementation/federated-store/src/test/resources/gaffer-2.1.0-cache/indexed-disk-cache/test.key -------------------------------------------------------------------------------- /store-implementation/federated-store/src/test/resources/integrationTestMergeFunctions.json: -------------------------------------------------------------------------------- 1 | { 2 | "storeConfiguredMergeFunctions": { 3 | "uk.gov.gchq.gaffer.operation.impl.get.GetAllElements": { 4 | "class": "uk.gov.gchq.gaffer.federatedstore.util.ConcatenateMergeFunction" 5 | }, 6 | "uk.gov.gchq.gaffer.operation.impl.get.GetElements": { 7 | "class": "uk.gov.gchq.gaffer.federatedstore.util.ConcatenateMergeFunction" 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /store-implementation/federated-store/src/test/resources/predefinedFederatedStore.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2017-2020 Crown Copyright 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | gaffer.store.class=uk.gov.gchq.gaffer.federatedstore.PredefinedFederatedStore 17 | gaffer.cache.service.default.class=uk.gov.gchq.gaffer.cache.impl.HashMapCacheService 18 | -------------------------------------------------------------------------------- /store-implementation/federated-store/src/test/resources/properties/ImportExportOperationDeclarations.json: -------------------------------------------------------------------------------- 1 | { 2 | "operations": [ 3 | { 4 | "operation": "uk.gov.gchq.gaffer.operation.impl.export.localfile.ImportFromLocalFile", 5 | "handler": { 6 | "class": "uk.gov.gchq.gaffer.store.operation.handler.export.localfile.ImportFromLocalFileHandler" 7 | } 8 | }, 9 | { 10 | "operation": "uk.gov.gchq.gaffer.operation.impl.export.localfile.ExportToLocalFile", 11 | "handler": { 12 | "class": "uk.gov.gchq.gaffer.store.operation.handler.export.localfile.ExportToLocalFileHandler" 13 | } 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /store-implementation/federated-store/src/test/resources/properties/singleUseMapStore.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2021-2021 Crown Copyright 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | gaffer.store.class=uk.gov.gchq.gaffer.mapstore.MapStore 17 | gaffer.store.properties.class=uk.gov.gchq.gaffer.mapstore.MapStoreProperties 18 | -------------------------------------------------------------------------------- /store-implementation/federated-store/src/test/resources/schema/basicEdge2Schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "edges": { 3 | "BasicEdge2": { 4 | "source": "vertex.string", 5 | "destination": "vertex.string", 6 | "directed": "directed.either" 7 | } 8 | }, 9 | "types": { 10 | "vertex.string": { 11 | "class": "java.lang.String" 12 | }, 13 | "directed.either": { 14 | "class": "java.lang.Boolean" 15 | } 16 | } 17 | } -------------------------------------------------------------------------------- /store-implementation/federated-store/src/test/resources/schema/basicEntity2Schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": { 3 | "BasicEntity2": { 4 | "vertex": "vertex.string" 5 | } 6 | }, 7 | "types": { 8 | "vertex.string": { 9 | "class": "java.lang.String" 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /store-implementation/federated-store/src/test/resources/schema/basicEntitySchema.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": { 3 | "BasicEntity": { 4 | "vertex": "vertex.string", 5 | "properties": { 6 | "property1": "simpleProperty" 7 | } 8 | } 9 | }, 10 | "types": { 11 | "vertex.string": { 12 | "class": "java.lang.String" 13 | }, 14 | "simpleProperty": { 15 | "class": "java.lang.Integer", 16 | "aggregateFunction": { 17 | "class": "uk.gov.gchq.koryphe.impl.binaryoperator.Sum" 18 | }, 19 | "serialiser": { 20 | "class": "uk.gov.gchq.gaffer.serialisation.implementation.raw.CompactRawIntegerSerialiser" 21 | } 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /store-implementation/federated-store/src/test/resources/schema/entityASchema.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": { 3 | "entityA": { 4 | "vertex": "vertex.string", 5 | "properties": { 6 | "property1": "simpleProperty" 7 | } 8 | } 9 | }, 10 | "types": { 11 | "vertex.string": { 12 | "class": "java.lang.String" 13 | }, 14 | "simpleProperty": { 15 | "class": "java.lang.Integer", 16 | "aggregateFunction": { 17 | "class": "uk.gov.gchq.koryphe.impl.binaryoperator.Sum" 18 | }, 19 | "serialiser": { 20 | "class": "uk.gov.gchq.gaffer.serialisation.implementation.raw.CompactRawIntegerSerialiser" 21 | } 22 | } 23 | }, 24 | "vertexSerialiser": { 25 | "class": "uk.gov.gchq.gaffer.serialisation.implementation.StringSerialiser" 26 | } 27 | } -------------------------------------------------------------------------------- /store-implementation/federated-store/src/test/resources/schema/entityBSchema.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": { 3 | "entityB": { 4 | "vertex": "vertex.int", 5 | "properties": { 6 | "property1": "simpleProperty" 7 | } 8 | } 9 | }, 10 | "types": { 11 | "vertex.int": { 12 | "class": "java.lang.Integer" 13 | }, 14 | "simpleProperty": { 15 | "class": "java.lang.Integer", 16 | "aggregateFunction": { 17 | "class": "uk.gov.gchq.koryphe.impl.binaryoperator.Sum" 18 | }, 19 | "serialiser": { 20 | "class": "uk.gov.gchq.gaffer.serialisation.implementation.raw.CompactRawIntegerSerialiser" 21 | } 22 | } 23 | }, 24 | "vertexSerialiser": { 25 | "class": "uk.gov.gchq.gaffer.serialisation.implementation.raw.CompactRawIntegerSerialiser" 26 | } 27 | } -------------------------------------------------------------------------------- /store-implementation/federated-store/src/test/resources/withConfigMergeMapping.json: -------------------------------------------------------------------------------- 1 | { 2 | "class": "FederatedStore", 3 | "storeConfiguredGraphIds": ["defaultJsonGraphId"], 4 | "storeConfiguredMergeFunctions" : { 5 | "uk.gov.gchq.gaffer.store.operation.GetTraits" : { 6 | "class" : "uk.gov.gchq.gaffer.federatedstore.util.ConcatenateMergeFunction" 7 | }, 8 | "uk.gov.gchq.gaffer.operation.impl.get.GetAllElements" : { 9 | "class" : "uk.gov.gchq.gaffer.federatedstore.util.ApplyViewToElementsFunction" 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /store-implementation/map-store/README.md: -------------------------------------------------------------------------------- 1 | # Map Store 2 | 3 | For information on the Map Store, see [the Map Store page on the Gaffer Documentation site](https://gchq.github.io/gaffer-doc/latest/administration-guide/gaffer-stores/map-store). 4 | -------------------------------------------------------------------------------- /store-implementation/map-store/src/main/java/uk/gov/gchq/gaffer/mapstore/factory/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Factory classes for creating Map and MultiMap instances. 19 | */ 20 | package uk.gov.gchq.gaffer.mapstore.factory; 21 | -------------------------------------------------------------------------------- /store-implementation/map-store/src/main/java/uk/gov/gchq/gaffer/mapstore/impl/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Implementation details for the MapImpl map-based data store. 19 | */ 20 | package uk.gov.gchq.gaffer.mapstore.impl; 21 | -------------------------------------------------------------------------------- /store-implementation/map-store/src/main/java/uk/gov/gchq/gaffer/mapstore/multimap/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Gaffer MultiMap implementation. 19 | */ 20 | package uk.gov.gchq.gaffer.mapstore.multimap; 21 | -------------------------------------------------------------------------------- /store-implementation/map-store/src/main/java/uk/gov/gchq/gaffer/mapstore/operation/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Operations for the Map store. 19 | */ 20 | package uk.gov.gchq.gaffer.mapstore.operation; 21 | -------------------------------------------------------------------------------- /store-implementation/map-store/src/main/java/uk/gov/gchq/gaffer/mapstore/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * The Gaffer MapStore implementation. 19 | */ 20 | package uk.gov.gchq.gaffer.mapstore; 21 | -------------------------------------------------------------------------------- /store-implementation/map-store/src/main/java/uk/gov/gchq/gaffer/mapstore/utils/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Additional utility classes for the Map store. 19 | */ 20 | package uk.gov.gchq.gaffer.mapstore.utils; 21 | -------------------------------------------------------------------------------- /store-implementation/map-store/src/test/resources/example-schema/elements.json: -------------------------------------------------------------------------------- 1 | { 2 | "entities": { 3 | "entity": { 4 | "vertex": "string", 5 | "properties": { 6 | "count": "int" 7 | } 8 | } 9 | }, 10 | "edges": { 11 | "edge": { 12 | "source": "string", 13 | "destination": "string", 14 | "directed": "true", 15 | "properties": { 16 | "count": "int" 17 | } 18 | } 19 | } 20 | } -------------------------------------------------------------------------------- /store-implementation/map-store/src/test/resources/example-schema/types.json: -------------------------------------------------------------------------------- 1 | { 2 | "types": { 3 | "int": { 4 | "class": "java.lang.Integer", 5 | "aggregateFunction": { 6 | "class": "uk.gov.gchq.koryphe.impl.binaryoperator.Sum" 7 | } 8 | }, 9 | "string": { 10 | "class": "java.lang.String" 11 | }, 12 | "true": { 13 | "class": "java.lang.Boolean", 14 | "validateFunctions": [ 15 | { 16 | "class": "uk.gov.gchq.koryphe.impl.predicate.IsTrue" 17 | } 18 | ] 19 | } 20 | } 21 | } -------------------------------------------------------------------------------- /store-implementation/map-store/src/test/resources/schema-no-aggregation/types.json: -------------------------------------------------------------------------------- 1 | { 2 | "types": { 3 | "vertex.string": { 4 | "class": "java.lang.String" 5 | }, 6 | "directed.either": { 7 | "class": "java.lang.Boolean" 8 | }, 9 | "string": { 10 | "class": "java.lang.String", 11 | "aggregateFunction": { 12 | "class": "uk.gov.gchq.koryphe.impl.binaryoperator.StringConcat" 13 | } 14 | }, 15 | "int": { 16 | "class": "java.lang.Integer", 17 | "aggregateFunction": { 18 | "class": "uk.gov.gchq.koryphe.impl.binaryoperator.Sum" 19 | } 20 | } 21 | } 22 | } -------------------------------------------------------------------------------- /store-implementation/map-store/src/test/resources/schema-with-visibilities/types.json: -------------------------------------------------------------------------------- 1 | { 2 | "types": { 3 | "vertex.string": { 4 | "class": "java.lang.String" 5 | }, 6 | "directed.either": { 7 | "class": "java.lang.Boolean" 8 | }, 9 | "string": { 10 | "class": "java.lang.String", 11 | "aggregateFunction": { 12 | "class": "uk.gov.gchq.koryphe.impl.binaryoperator.StringConcat" 13 | } 14 | }, 15 | "int": { 16 | "class": "java.lang.Integer", 17 | "aggregateFunction": { 18 | "class": "uk.gov.gchq.koryphe.impl.binaryoperator.Sum" 19 | } 20 | }, 21 | "visibility.string": { 22 | "class": "java.lang.String", 23 | "aggregateFunction": { 24 | "class": "uk.gov.gchq.koryphe.impl.binaryoperator.StringConcat" 25 | } 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /store-implementation/map-store/src/test/resources/schema/types.json: -------------------------------------------------------------------------------- 1 | { 2 | "types": { 3 | "vertex.string": { 4 | "class": "java.lang.String" 5 | }, 6 | "directed.either": { 7 | "class": "java.lang.Boolean" 8 | }, 9 | "string": { 10 | "class": "java.lang.String", 11 | "aggregateFunction": { 12 | "class": "uk.gov.gchq.koryphe.impl.binaryoperator.StringConcat" 13 | } 14 | }, 15 | "int": { 16 | "class": "java.lang.Integer", 17 | "aggregateFunction": { 18 | "class": "uk.gov.gchq.koryphe.impl.binaryoperator.Sum" 19 | } 20 | } 21 | } 22 | } -------------------------------------------------------------------------------- /store-implementation/proxy-store/README.md: -------------------------------------------------------------------------------- 1 | # Proxy Store 2 | 3 | For information on the Proxy Store, see [the Proxy Store page on the Gaffer Documentation site](https://gchq.github.io/gaffer-doc/latest/administration-guide/gaffer-stores/proxy-store). 4 | -------------------------------------------------------------------------------- /store-implementation/proxy-store/src/main/java/uk/gov/gchq/gaffer/proxystore/operation/handler/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Operation handlers for the ProxyStore. 19 | */ 20 | package uk.gov.gchq.gaffer.proxystore.operation.handler; 21 | -------------------------------------------------------------------------------- /store-implementation/proxy-store/src/main/java/uk/gov/gchq/gaffer/proxystore/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017-2020 Crown Copyright 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * The Gaffer ProxyStore implementation. 19 | */ 20 | package uk.gov.gchq.gaffer.proxystore; 21 | -------------------------------------------------------------------------------- /store-implementation/proxy-store/src/test/resources/mock-proxy-store.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2016-2020 Crown Copyright 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | gaffer.store.class=uk.gov.gchq.gaffer.proxystore.SingleUseMapProxyStore 17 | gaffer.host=localhost 18 | gaffer.port=8080 19 | gaffer.context-root=/rest/v2 20 | -------------------------------------------------------------------------------- /store-implementation/proxy-store/src/test/resources/proxy-store.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2016-2020 Crown Copyright 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | gaffer.store.class=uk.gov.gchq.gaffer.proxystore.ProxyStore 17 | gaffer.host=localhost 18 | gaffer.port=8080 19 | gaffer.context-root=/rest/v2 20 | -------------------------------------------------------------------------------- /store-implementation/simple-federated-store/src/test/resources/map-store.properties: -------------------------------------------------------------------------------- 1 | gaffer.store.class=uk.gov.gchq.gaffer.mapstore.MapStore 2 | -------------------------------------------------------------------------------- /store-implementation/simple-federated-store/src/test/resources/operationDeclarations.json: -------------------------------------------------------------------------------- 1 | { 2 | "operations": [ 3 | { 4 | "operation": "uk.gov.gchq.gaffer.operation.impl.export.localfile.ImportFromLocalFile", 5 | "handler": { 6 | "class": "uk.gov.gchq.gaffer.store.operation.handler.export.localfile.ImportFromLocalFileHandler" 7 | } 8 | }, 9 | { 10 | "operation": "uk.gov.gchq.gaffer.operation.impl.export.localfile.ExportToLocalFile", 11 | "handler": { 12 | "class": "uk.gov.gchq.gaffer.store.operation.handler.export.localfile.ExportToLocalFileHandler" 13 | } 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /store-implementation/simple-federated-store/src/test/resources/store.properties: -------------------------------------------------------------------------------- 1 | gaffer.store.class=uk.gov.gchq.gaffer.federated.simple.PreDefinedFederatedStore 2 | gaffer.store.properties.class=uk.gov.gchq.gaffer.federated.simple.FederatedStoreProperties 3 | gaffer.store.federated.default.aggregateElements=true 4 | gaffer.store.federated.merge.collection.class=uk.gov.gchq.koryphe.impl.binaryoperator.CollectionIntersect 5 | gaffer.store.federated.merge.string.class=uk.gov.gchq.koryphe.impl.binaryoperator.StringDeduplicateConcat 6 | gaffer.store.federated.default.graphIds=graphA,graphB 7 | gaffer.cache.service.default.class=uk.gov.gchq.gaffer.cache.impl.HashMapCacheService 8 | --------------------------------------------------------------------------------