Search in sources :

Example 1 with ConstructorFunction

use of com.hazelcast.util.ConstructorFunction in project hazelcast by hazelcast.

the class MapReduceDataSerializerHook method createFactory.

@Override
public DataSerializableFactory createFactory() {
    ConstructorFunction<Integer, IdentifiedDataSerializable>[] constructors = new ConstructorFunction[LEN];
    constructors[KEY_VALUE_SOURCE_MAP] = new ConstructorFunction<Integer, IdentifiedDataSerializable>() {

        @Override
        public IdentifiedDataSerializable createNew(Integer arg) {
            return new MapKeyValueSource();
        }
    };
    constructors[KEY_VALUE_SOURCE_MULTIMAP] = new ConstructorFunction<Integer, IdentifiedDataSerializable>() {

        @Override
        public IdentifiedDataSerializable createNew(Integer arg) {
            return new MultiMapKeyValueSource();
        }
    };
    constructors[REDUCER_CHUNK_MESSAGE] = new ConstructorFunction<Integer, IdentifiedDataSerializable>() {

        @Override
        public IdentifiedDataSerializable createNew(Integer arg) {
            return new IntermediateChunkNotification();
        }
    };
    constructors[REDUCER_LAST_CHUNK_MESSAGE] = new ConstructorFunction<Integer, IdentifiedDataSerializable>() {

        @Override
        public IdentifiedDataSerializable createNew(Integer arg) {
            return new LastChunkNotification();
        }
    };
    constructors[TRACKED_JOB_OPERATION] = new ConstructorFunction<Integer, IdentifiedDataSerializable>() {

        @Override
        public IdentifiedDataSerializable createNew(Integer arg) {
            return new KeyValueJobOperation();
        }
    };
    constructors[REQUEST_PARTITION_MAPPING] = new ConstructorFunction<Integer, IdentifiedDataSerializable>() {

        @Override
        public IdentifiedDataSerializable createNew(Integer arg) {
            return new RequestPartitionMapping();
        }
    };
    constructors[REQUEST_PARTITION_REDUCING] = new ConstructorFunction<Integer, IdentifiedDataSerializable>() {

        @Override
        public IdentifiedDataSerializable createNew(Integer arg) {
            return new RequestPartitionReducing();
        }
    };
    constructors[REQUEST_PARTITION_PROCESSED] = new ConstructorFunction<Integer, IdentifiedDataSerializable>() {

        @Override
        public IdentifiedDataSerializable createNew(Integer arg) {
            return new RequestPartitionProcessed();
        }
    };
    constructors[GET_RESULT_OPERATION] = new ConstructorFunction<Integer, IdentifiedDataSerializable>() {

        @Override
        public IdentifiedDataSerializable createNew(Integer arg) {
            return new GetResultOperation();
        }
    };
    constructors[START_PROCESSING_OPERATION] = new ConstructorFunction<Integer, IdentifiedDataSerializable>() {

        @Override
        public IdentifiedDataSerializable createNew(Integer arg) {
            return new StartProcessingJobOperation();
        }
    };
    constructors[REQUEST_PARTITION_RESULT] = new ConstructorFunction<Integer, IdentifiedDataSerializable>() {

        @Override
        public IdentifiedDataSerializable createNew(Integer arg) {
            return new RequestPartitionResult();
        }
    };
    constructors[REDUCING_FINISHED_MESSAGE] = new ConstructorFunction<Integer, IdentifiedDataSerializable>() {

        @Override
        public IdentifiedDataSerializable createNew(Integer arg) {
            return new ReducingFinishedNotification();
        }
    };
    constructors[FIRE_NOTIFICATION_OPERATION] = new ConstructorFunction<Integer, IdentifiedDataSerializable>() {

        @Override
        public IdentifiedDataSerializable createNew(Integer arg) {
            return new FireNotificationOperation();
        }
    };
    constructors[REQUEST_MEMBERID_ASSIGNMENT] = new ConstructorFunction<Integer, IdentifiedDataSerializable>() {

        @Override
        public IdentifiedDataSerializable createNew(Integer arg) {
            return new RequestMemberIdAssignment();
        }
    };
    constructors[PROCESS_STATS_UPDATE_OPERATION] = new ConstructorFunction<Integer, IdentifiedDataSerializable>() {

        @Override
        public IdentifiedDataSerializable createNew(Integer arg) {
            return new ProcessStatsUpdateOperation();
        }
    };
    constructors[NOTIFY_REMOTE_EXCEPTION_OPERATION] = new ConstructorFunction<Integer, IdentifiedDataSerializable>() {

        @Override
        public IdentifiedDataSerializable createNew(Integer arg) {
            return new NotifyRemoteExceptionOperation();
        }
    };
    constructors[CANCEL_JOB_SUPERVISOR_OPERATION] = new ConstructorFunction<Integer, IdentifiedDataSerializable>() {

        @Override
        public IdentifiedDataSerializable createNew(Integer arg) {
            return new CancelJobSupervisorOperation();
        }
    };
    constructors[KEY_VALUE_SOURCE_LIST] = new ConstructorFunction<Integer, IdentifiedDataSerializable>() {

        @Override
        public IdentifiedDataSerializable createNew(Integer arg) {
            return new ListKeyValueSource();
        }
    };
    constructors[KEY_VALUE_SOURCE_SET] = new ConstructorFunction<Integer, IdentifiedDataSerializable>() {

        @Override
        public IdentifiedDataSerializable createNew(Integer arg) {
            return new SetKeyValueSource();
        }
    };
    constructors[KEYS_ASSIGNMENT_RESULT] = new ConstructorFunction<Integer, IdentifiedDataSerializable>() {

        @Override
        public IdentifiedDataSerializable createNew(Integer arg) {
            return new KeysAssignmentResult();
        }
    };
    constructors[KEYS_ASSIGNMENT_OPERATION] = new ConstructorFunction<Integer, IdentifiedDataSerializable>() {

        @Override
        public IdentifiedDataSerializable createNew(Integer arg) {
            return new KeysAssignmentOperation();
        }
    };
    constructors[POSTPONE_PARTITION_PROCESSING_OPERATION] = new ConstructorFunction<Integer, IdentifiedDataSerializable>() {

        @Override
        public IdentifiedDataSerializable createNew(Integer arg) {
            return new PostPonePartitionProcessing();
        }
    };
    constructors[HASH_MAP_ADAPTER] = new ConstructorFunction<Integer, IdentifiedDataSerializable>() {

        @Override
        public IdentifiedDataSerializable createNew(Integer arg) {
            return new HashMapAdapter();
        }
    };
    constructors[COMBINER_RESULT_LIST] = new ConstructorFunction<Integer, IdentifiedDataSerializable>() {

        @Override
        public IdentifiedDataSerializable createNew(Integer arg) {
            return new CombinerResultList();
        }
    };
    return new ArrayDataSerializableFactory(constructors);
}
Also used : GetResultOperation(com.hazelcast.mapreduce.impl.operation.GetResultOperation) KeyValueJobOperation(com.hazelcast.mapreduce.impl.operation.KeyValueJobOperation) ProcessStatsUpdateOperation(com.hazelcast.mapreduce.impl.operation.ProcessStatsUpdateOperation) LastChunkNotification(com.hazelcast.mapreduce.impl.notification.LastChunkNotification) KeysAssignmentResult(com.hazelcast.mapreduce.impl.operation.KeysAssignmentResult) ReducingFinishedNotification(com.hazelcast.mapreduce.impl.notification.ReducingFinishedNotification) RequestPartitionProcessed(com.hazelcast.mapreduce.impl.operation.RequestPartitionProcessed) IdentifiedDataSerializable(com.hazelcast.nio.serialization.IdentifiedDataSerializable) KeysAssignmentOperation(com.hazelcast.mapreduce.impl.operation.KeysAssignmentOperation) PostPonePartitionProcessing(com.hazelcast.mapreduce.impl.operation.PostPonePartitionProcessing) IntermediateChunkNotification(com.hazelcast.mapreduce.impl.notification.IntermediateChunkNotification) ConstructorFunction(com.hazelcast.util.ConstructorFunction) RequestPartitionReducing(com.hazelcast.mapreduce.impl.operation.RequestPartitionReducing) FireNotificationOperation(com.hazelcast.mapreduce.impl.operation.FireNotificationOperation) RequestPartitionResult(com.hazelcast.mapreduce.impl.operation.RequestPartitionResult) RequestPartitionMapping(com.hazelcast.mapreduce.impl.operation.RequestPartitionMapping) StartProcessingJobOperation(com.hazelcast.mapreduce.impl.operation.StartProcessingJobOperation) RequestMemberIdAssignment(com.hazelcast.mapreduce.impl.operation.RequestMemberIdAssignment) ArrayDataSerializableFactory(com.hazelcast.internal.serialization.impl.ArrayDataSerializableFactory) CancelJobSupervisorOperation(com.hazelcast.mapreduce.impl.operation.CancelJobSupervisorOperation) NotifyRemoteExceptionOperation(com.hazelcast.mapreduce.impl.operation.NotifyRemoteExceptionOperation)

Example 2 with ConstructorFunction

use of com.hazelcast.util.ConstructorFunction in project hazelcast by hazelcast.

the class PartitionContainer method buildConstructorFunction.

private ConstructorFunction<String, ReplicatedRecordStore> buildConstructorFunction() {
    return new ConstructorFunction<String, ReplicatedRecordStore>() {

        @Override
        public ReplicatedRecordStore createNew(String name) {
            ReplicatedMapConfig replicatedMapConfig = service.getReplicatedMapConfig(name);
            InMemoryFormat inMemoryFormat = replicatedMapConfig.getInMemoryFormat();
            AbstractReplicatedRecordStore replicatedRecordStorage = null;
            switch(inMemoryFormat) {
                case OBJECT:
                    replicatedRecordStorage = new ObjectReplicatedRecordStorage(name, service, partitionId);
                    break;
                case BINARY:
                    replicatedRecordStorage = new DataReplicatedRecordStore(name, service, partitionId);
                    break;
                case NATIVE:
                    throw new IllegalStateException("Native memory not yet supported for replicated map");
                default:
                    throw new IllegalStateException("Unhandled in memory format:" + inMemoryFormat);
            }
            return replicatedRecordStorage;
        }
    };
}
Also used : AbstractReplicatedRecordStore(com.hazelcast.replicatedmap.impl.record.AbstractReplicatedRecordStore) ReplicatedMapConfig(com.hazelcast.config.ReplicatedMapConfig) ObjectReplicatedRecordStorage(com.hazelcast.replicatedmap.impl.record.ObjectReplicatedRecordStorage) ConstructorFunction(com.hazelcast.util.ConstructorFunction) InMemoryFormat(com.hazelcast.config.InMemoryFormat) DataReplicatedRecordStore(com.hazelcast.replicatedmap.impl.record.DataReplicatedRecordStore)

Example 3 with ConstructorFunction

use of com.hazelcast.util.ConstructorFunction in project hazelcast by hazelcast.

the class ArrayDataSerializableFactoryTest method testCreate.

@Test
public void testCreate() throws Exception {
    ConstructorFunction<Integer, IdentifiedDataSerializable>[] constructorFunctions = new ConstructorFunction[1];
    constructorFunctions[0] = new ConstructorFunction<Integer, IdentifiedDataSerializable>() {

        @Override
        public IdentifiedDataSerializable createNew(Integer arg) {
            return new SampleIdentifiedDataSerializable();
        }
    };
    ArrayDataSerializableFactory factory = new ArrayDataSerializableFactory(constructorFunctions);
    assertNull(factory.create(-1));
    assertNull(factory.create(1));
    assertThat(factory.create(0), instanceOf(SampleIdentifiedDataSerializable.class));
}
Also used : IdentifiedDataSerializable(com.hazelcast.nio.serialization.IdentifiedDataSerializable) SampleIdentifiedDataSerializable(com.hazelcast.nio.serialization.SampleIdentifiedDataSerializable) SampleIdentifiedDataSerializable(com.hazelcast.nio.serialization.SampleIdentifiedDataSerializable) ConstructorFunction(com.hazelcast.util.ConstructorFunction) VersionAwareConstructorFunction(com.hazelcast.util.VersionAwareConstructorFunction) QuickTest(com.hazelcast.test.annotation.QuickTest) Test(org.junit.Test) ParallelTest(com.hazelcast.test.annotation.ParallelTest)

Aggregations

ConstructorFunction (com.hazelcast.util.ConstructorFunction)3 IdentifiedDataSerializable (com.hazelcast.nio.serialization.IdentifiedDataSerializable)2 InMemoryFormat (com.hazelcast.config.InMemoryFormat)1 ReplicatedMapConfig (com.hazelcast.config.ReplicatedMapConfig)1 ArrayDataSerializableFactory (com.hazelcast.internal.serialization.impl.ArrayDataSerializableFactory)1 IntermediateChunkNotification (com.hazelcast.mapreduce.impl.notification.IntermediateChunkNotification)1 LastChunkNotification (com.hazelcast.mapreduce.impl.notification.LastChunkNotification)1 ReducingFinishedNotification (com.hazelcast.mapreduce.impl.notification.ReducingFinishedNotification)1 CancelJobSupervisorOperation (com.hazelcast.mapreduce.impl.operation.CancelJobSupervisorOperation)1 FireNotificationOperation (com.hazelcast.mapreduce.impl.operation.FireNotificationOperation)1 GetResultOperation (com.hazelcast.mapreduce.impl.operation.GetResultOperation)1 KeyValueJobOperation (com.hazelcast.mapreduce.impl.operation.KeyValueJobOperation)1 KeysAssignmentOperation (com.hazelcast.mapreduce.impl.operation.KeysAssignmentOperation)1 KeysAssignmentResult (com.hazelcast.mapreduce.impl.operation.KeysAssignmentResult)1 NotifyRemoteExceptionOperation (com.hazelcast.mapreduce.impl.operation.NotifyRemoteExceptionOperation)1 PostPonePartitionProcessing (com.hazelcast.mapreduce.impl.operation.PostPonePartitionProcessing)1 ProcessStatsUpdateOperation (com.hazelcast.mapreduce.impl.operation.ProcessStatsUpdateOperation)1 RequestMemberIdAssignment (com.hazelcast.mapreduce.impl.operation.RequestMemberIdAssignment)1 RequestPartitionMapping (com.hazelcast.mapreduce.impl.operation.RequestPartitionMapping)1 RequestPartitionProcessed (com.hazelcast.mapreduce.impl.operation.RequestPartitionProcessed)1