Example usage for org.apache.commons.lang3.tuple Pair getValue

List of usage examples for org.apache.commons.lang3.tuple Pair getValue

Introduction

In this page you can find the example usage for org.apache.commons.lang3.tuple Pair getValue.

Prototype

@Override
public R getValue() 

Source Link

Document

Gets the value from this pair.

This method implements the Map.Entry interface returning the right element as the value.

Usage

From source file:alfio.manager.EventManagerIntegrationTest.java

@Test
public void testDecreaseEventSeatsWithABoundedCategory() {
    List<TicketCategoryModification> categories = Collections.singletonList(new TicketCategoryModification(null,
            "default", 10, new DateTimeModification(LocalDate.now(), LocalTime.now()),
            new DateTimeModification(LocalDate.now(), LocalTime.now()), DESCRIPTION, BigDecimal.TEN, false, "",
            true, null, null, null, null, null));
    Pair<Event, String> pair = initEvent(categories, organizationRepository, userManager, eventManager,
            eventRepository);/* w w w . j  a v a 2  s  . c o m*/
    Event event = pair.getKey();
    EventModification update = new EventModification(event.getId(), Event.EventType.INTERNAL, null, null, null,
            null, null, null, null, event.getOrganizationId(), null, "0.0", "0.0",
            ZoneId.systemDefault().getId(), null, DateTimeModification.fromZonedDateTime(event.getBegin()),
            DateTimeModification.fromZonedDateTime(event.getEnd()), event.getRegularPrice(),
            event.getCurrency(), 10, event.getVat(), event.isVatIncluded(), event.getAllowedPaymentProxies(),
            null, event.isFreeOfCharge(), null, 7, null, null);
    eventManager.updateEventPrices(event, update, pair.getValue());
    List<Ticket> tickets = ticketRepository.findFreeByEventId(event.getId());
    assertNotNull(tickets);
    assertFalse(tickets.isEmpty());
    assertEquals(10, tickets.size());
    assertTrue(tickets.stream().allMatch(t -> t.getCategoryId() != null));
}

From source file:alfio.manager.EventManagerIntegrationTest.java

@Test
public void testIncreaseEventSeatsWithABoundedCategory() {
    List<TicketCategoryModification> categories = Collections.singletonList(new TicketCategoryModification(null,
            "default", 10, new DateTimeModification(LocalDate.now(), LocalTime.now()),
            new DateTimeModification(LocalDate.now(), LocalTime.now()), DESCRIPTION, BigDecimal.TEN, false, "",
            true, null, null, null, null, null));
    Pair<Event, String> pair = initEvent(categories, organizationRepository, userManager, eventManager,
            eventRepository);//w  w w. ja v  a  2 s  .c om
    Event event = pair.getKey();
    EventModification update = new EventModification(event.getId(), Event.EventType.INTERNAL, null, null, null,
            null, null, null, null, event.getOrganizationId(), null, "0.0", "0.0",
            ZoneId.systemDefault().getId(), null, DateTimeModification.fromZonedDateTime(event.getBegin()),
            DateTimeModification.fromZonedDateTime(event.getEnd()), event.getRegularPrice(),
            event.getCurrency(), 40, event.getVat(), event.isVatIncluded(), event.getAllowedPaymentProxies(),
            null, event.isFreeOfCharge(), null, 7, null, null);
    eventManager.updateEventPrices(event, update, pair.getValue());
    List<Ticket> tickets = ticketRepository.findFreeByEventId(event.getId());
    assertNotNull(tickets);
    assertFalse(tickets.isEmpty());
    assertEquals(20, tickets.size());
    assertEquals(20, ticketRepository.countReleasedUnboundedTickets(event.getId()).intValue());
    assertEquals(10, tickets.stream().filter(t -> t.getCategoryId() != null).count());
}

From source file:alfio.manager.EventManagerIntegrationTest.java

@Test
public void testIncreaseEventSeatsWithAnUnboundedCategory() {
    List<TicketCategoryModification> categories = Collections.singletonList(new TicketCategoryModification(null,
            "default", 10, new DateTimeModification(LocalDate.now(), LocalTime.now()),
            new DateTimeModification(LocalDate.now(), LocalTime.now()), DESCRIPTION, BigDecimal.TEN, false, "",
            false, null, null, null, null, null));
    Pair<Event, String> pair = initEvent(categories, organizationRepository, userManager, eventManager,
            eventRepository);//from   ww w.  j  ava2s. c  o  m
    Event event = pair.getKey();
    EventModification update = new EventModification(event.getId(), Event.EventType.INTERNAL, null, null, null,
            null, null, null, null, event.getOrganizationId(), null, "0.0", "0.0",
            ZoneId.systemDefault().getId(), null, DateTimeModification.fromZonedDateTime(event.getBegin()),
            DateTimeModification.fromZonedDateTime(event.getEnd()), event.getRegularPrice(),
            event.getCurrency(), 40, event.getVat(), event.isVatIncluded(), event.getAllowedPaymentProxies(),
            null, event.isFreeOfCharge(), null, 7, null, null);
    eventManager.updateEventPrices(event, update, pair.getValue());
    List<Ticket> tickets = ticketRepository.findFreeByEventId(event.getId());
    assertNotNull(tickets);
    assertFalse(tickets.isEmpty());
    assertEquals(20, tickets.size());
    assertEquals(20, ticketRepository.countReleasedUnboundedTickets(event.getId()).intValue());
    waitingQueueSubscriptionProcessor.distributeAvailableSeats(event);
    tickets = ticketRepository.findFreeByEventId(event.getId());
    assertEquals(40, tickets.size());
    assertEquals(40, tickets.stream().filter(t -> t.getCategoryId() == null).count());
}

From source file:alfio.manager.system.DataMigratorIntegrationTest.java

@Test
public void testMigrationWithExistingRecord() {
    List<TicketCategoryModification> categories = Collections.singletonList(new TicketCategoryModification(null,
            "default", AVAILABLE_SEATS, new DateTimeModification(LocalDate.now(), LocalTime.now()),
            new DateTimeModification(LocalDate.now(), LocalTime.now()), DESCRIPTION, BigDecimal.TEN, false, "",
            false, null, null, null, null, null));
    Pair<Event, String> eventUsername = initEvent(categories);
    Event event = eventUsername.getKey();

    try {//from ww w.j a  va 2s  . c  om
        eventMigrationRepository.insertMigrationData(event.getId(), "1.4",
                ZonedDateTime.now(ZoneId.of("UTC")).minusDays(1), EventMigration.Status.COMPLETE.toString());
        eventRepository.updatePrices("CHF", 40, false, BigDecimal.ONE, "STRIPE", event.getId(),
                PriceContainer.VatStatus.NOT_INCLUDED, 1000);
        dataMigrator.migrateEventsToCurrentVersion();
        EventMigration eventMigration = eventMigrationRepository.loadEventMigration(event.getId());
        assertNotNull(eventMigration);
        //assertEquals(buildTimestamp, eventMigration.getBuildTimestamp().toString());
        assertEquals(currentVersion, eventMigration.getCurrentVersion());

        List<Ticket> tickets = ticketRepository.findFreeByEventId(event.getId());
        assertNotNull(tickets);
        assertFalse(tickets.isEmpty());
        assertEquals(20, tickets.size());
        assertTrue(tickets.stream().allMatch(t -> t.getCategoryId() == null));
    } finally {
        eventManager.deleteEvent(event.getId(), eventUsername.getValue());
    }
}

From source file:de.ks.flatadocdb.metamodel.Parser.java

public EntityDescriptor parse(Class<?> clazz) throws ParseException {
    Entity annotation = checkEntityAnnotation(clazz);
    EntityPersister persister = getInstance(annotation.persister());
    FileGenerator fileGenerator = getInstance(annotation.fileGenerator());
    FolderGenerator folderGenerator = getInstance(annotation.folderGenerator());
    LuceneDocumentExtractor luceneDocumentExtractor = getInstance(annotation.luceneDocExtractor());

    @SuppressWarnings("unchecked")
    Set<Field> allFields = ReflectionUtils.getAllFields(clazz, this::filterField);

    MethodHandle idGetterHandle = resolveIdFieldGetter(clazz, allFields);
    MethodHandle idSetterHandle = resolveIdFieldSetter(clazz, allFields);
    MethodHandle versionGetterHandle = resolveVersionFieldGetter(clazz, allFields);
    MethodHandle versionSetterHandle = resolveVersionFieldSetter(clazz, allFields);
    MethodHandle naturalIdHandle = resolveNaturalIdField(clazz, allFields);
    Pair<MethodHandle, MethodHandle> pathInRepo = resolvePathInRepoField(clazz, allFields);

    Map<Field, PropertyPersister> propertyPersisters = resolvePropertyPersisters(allFields);
    Map<LifeCycle, Set<MethodHandle>> lifecycleMethods = new LifeCycleParser().parseMethods(clazz);

    RelationParser relationParser = new RelationParser();

    QueryParser queryParser = new QueryParser();

    EntityDescriptor.Builder builder = EntityDescriptor.Builder.create();
    builder.entity(clazz);/*from   w w  w. j  a  v a2 s  . c  om*/
    builder.id(idGetterHandle, idSetterHandle);
    builder.version(versionGetterHandle, versionSetterHandle);
    builder.natural(naturalIdHandle);
    builder.persister(persister);
    builder.extractor(luceneDocumentExtractor);
    builder.fileGenerator(fileGenerator);
    builder.folderGenerator(folderGenerator);
    builder.properties(propertyPersisters);
    builder.lifecycle(lifecycleMethods);
    builder.toOnes(relationParser.parseToOneRelations(clazz));
    builder.toMany(relationParser.parseToManyRelations(clazz));
    builder.toOneChild(relationParser.parseToOneChildRelations(clazz));
    builder.toManyChild(relationParser.parseToManyChildRelations(clazz));
    builder.queries(queryParser.getQueries(clazz));
    if (pathInRepo != null) {
        builder.pathInRepo(pathInRepo.getKey(), pathInRepo.getValue());
    }
    return builder.build();
}

From source file:alfio.manager.EventManagerIntegrationTest.java

private Pair<Event, String> generateAndEditEvent(int newEventSize) {
    List<TicketCategoryModification> categories = Collections.singletonList(new TicketCategoryModification(null,
            "default", 10, new DateTimeModification(LocalDate.now(), LocalTime.now()),
            new DateTimeModification(LocalDate.now(), LocalTime.now()), DESCRIPTION, BigDecimal.TEN, false, "",
            true, null, null, null, null, null));
    Pair<Event, String> pair = initEvent(categories, organizationRepository, userManager, eventManager,
            eventRepository);//  ww w . j  a  v a  2  s .  c o m

    Event event = pair.getKey();
    if (newEventSize != AVAILABLE_SEATS) {
        EventModification update = new EventModification(event.getId(), Event.EventType.INTERNAL, null, null,
                null, null, null, null, null, event.getOrganizationId(), null, null, null,
                event.getZoneId().toString(), Collections.emptyMap(),
                DateTimeModification.fromZonedDateTime(event.getBegin()),
                DateTimeModification.fromZonedDateTime(event.getEnd()), event.getRegularPrice(),
                event.getCurrency(), newEventSize, event.getVat(), event.isVatIncluded(),
                event.getAllowedPaymentProxies(), null, event.isFreeOfCharge(), null, 7, null, null);
        eventManager.updateEventPrices(event, update, pair.getValue());
    }
    List<Ticket> tickets = ticketRepository.findFreeByEventId(event.getId());
    assertNotNull(tickets);
    assertFalse(tickets.isEmpty());
    assertEquals(AVAILABLE_SEATS, tickets.size());
    if (newEventSize > AVAILABLE_SEATS) {
        assertEquals(newEventSize - AVAILABLE_SEATS,
                ticketRepository.countReleasedUnboundedTickets(event.getId()).intValue());
    }
    assertEquals(10, tickets.stream().filter(t -> t.getCategoryId() != null).count());
    return Pair.of(eventRepository.findById(event.getId()), pair.getRight());
}

From source file:alfio.manager.system.DataMigratorIntegrationTest.java

@Test
public void testAlreadyMigratedEvent() {
    List<TicketCategoryModification> categories = Collections.singletonList(new TicketCategoryModification(null,
            "default", AVAILABLE_SEATS, new DateTimeModification(LocalDate.now(), LocalTime.now()),
            new DateTimeModification(LocalDate.now(), LocalTime.now()), DESCRIPTION, BigDecimal.TEN, false, "",
            false, null, null, null, null, null));
    Pair<Event, String> eventUsername = initEvent(categories);
    Event event = eventUsername.getKey();

    try {/*from  w ww  .j  a v  a  2s .co m*/
        ZonedDateTime migrationTs = ZonedDateTime.now(ZoneId.of("UTC"));
        eventMigrationRepository.insertMigrationData(event.getId(), currentVersion, migrationTs,
                EventMigration.Status.COMPLETE.toString());
        eventRepository.updatePrices("CHF", 40, false, BigDecimal.ONE, "STRIPE", event.getId(),
                PriceContainer.VatStatus.NOT_INCLUDED, 1000);
        dataMigrator.migrateEventsToCurrentVersion();
        EventMigration eventMigration = eventMigrationRepository.loadEventMigration(event.getId());
        assertNotNull(eventMigration);
        //assertEquals(migrationTs.toString(), eventMigration.getBuildTimestamp().toString());
        assertEquals(currentVersion, eventMigration.getCurrentVersion());

        List<Ticket> tickets = ticketRepository.findFreeByEventId(event.getId());
        assertNotNull(tickets);
        assertFalse(tickets.isEmpty());
        assertEquals(AVAILABLE_SEATS, tickets.size());//<-- the migration has not been done
        assertTrue(tickets.stream().allMatch(t -> t.getCategoryId() == null));
    } finally {
        eventManager.deleteEvent(event.getId(), eventUsername.getValue());
    }
}

From source file:alfio.manager.WaitingQueueManagerIntegrationTest.java

@Test
public void testNoPublicCategoryAvailable() {
    LocalDateTime start = LocalDateTime.now().minusHours(1);
    LocalDateTime end = LocalDateTime.now().plusHours(1);

    List<TicketCategoryModification> categories = Arrays.asList(
            new TicketCategoryModification(null, "default", 2,
                    new DateTimeModification(start.toLocalDate(), start.toLocalTime()),
                    new DateTimeModification(end.toLocalDate(), end.toLocalTime()), DESCRIPTION, BigDecimal.TEN,
                    false, "", true, null, null, null, null, null),
            new TicketCategoryModification(null, "default2", 10,
                    new DateTimeModification(start.toLocalDate(), start.toLocalTime()),
                    new DateTimeModification(end.toLocalDate(), end.toLocalTime()), DESCRIPTION, BigDecimal.TEN,
                    true, "", true, null, null, null, null, null));

    configurationManager.saveSystemConfiguration(ConfigurationKeys.ENABLE_WAITING_QUEUE, "true");
    Pair<Event, String> eventAndUsername = initEvent(categories, organizationRepository, userManager,
            eventManager, eventRepository);
    Event event = eventAndUsername.getKey();
    List<TicketCategory> ticketCategories = ticketCategoryRepository.findByEventId(event.getId());
    TicketCategory first = ticketCategories.stream().filter(tc -> !tc.isAccessRestricted()).findFirst()
            .orElseThrow(IllegalStateException::new);
    reserveTickets(event, first, 2);//from  w  w  w  .  ja  va  2  s.com
    assertTrue(
            waitingQueueManager.subscribe(event, customerJohnDoe(event), "john@doe.com", null, Locale.ENGLISH));
    assertTrue(waitingQueueManager.subscribe(event, new CustomerName("John Doe 2", "John", "Doe 2", event),
            "john@doe2.com", null, Locale.ENGLISH));

    ZoneId zoneId = event.getZoneId();
    Result<TicketCategory> ticketCategoryResult = eventManager.updateCategory(first.getId(), event,
            new TicketCategoryModification(first.getId(), first.getName(), 3,
                    fromZonedDateTime(first.getInception(zoneId)),
                    fromZonedDateTime(first.getExpiration(zoneId)), Collections.emptyMap(), first.getPrice(),
                    false, "", true, null, null, null, null, null),
            eventAndUsername.getValue());
    assertTrue(ticketCategoryResult.isSuccess());
    assertEquals(1, ticketRepository.countReleasedTicketInCategory(event.getId(), first.getId()).intValue());
    //now we should have an extra available ticket
    List<Triple<WaitingQueueSubscription, TicketReservationWithOptionalCodeModification, ZonedDateTime>> subscriptions = waitingQueueManager
            .distributeSeats(event).collect(Collectors.toList());
    assertEquals(1, subscriptions.size());
}

From source file:it.anyplace.sync.bep.BlockExchangeConnectionHandler.java

private void startMessageListenerService() {
    inExecutorService.submit(new Runnable() {

        @Override//  w w  w .  j  av a2s  . c o m
        public void run() {
            try {
                while (!Thread.interrupted()) {
                    final Pair<BlockExchageProtos.MessageType, GeneratedMessage> message = receiveMessage();
                    logger.debug("received message type = {} {}", message.getLeft(),
                            getIdForMessage(message.getRight()));
                    logger.trace("received message = {}", message.getRight());
                    messageProcessingService.submit(new Runnable() {
                        @Override
                        public void run() {
                            logger.debug("processing message type = {} {}", message.getLeft(),
                                    getIdForMessage(message.getRight()));
                            try {
                                switch (message.getLeft()) {
                                case INDEX:
                                    eventBus.post(new IndexMessageReceivedEvent((Index) message.getValue()));
                                    break;
                                case INDEX_UPDATE:
                                    eventBus.post(new IndexUpdateMessageReceivedEvent(
                                            (IndexUpdate) message.getValue()));
                                    break;
                                case REQUEST:
                                    eventBus.post(
                                            new RequestMessageReceivedEvent((Request) message.getValue()));
                                    break;
                                case RESPONSE:
                                    eventBus.post(
                                            new ResponseMessageReceivedEvent((Response) message.getValue()));
                                    break;
                                case PING:
                                    logger.debug("ping message received");
                                    break;
                                case CLOSE:
                                    logger.info("received close message = {}", message.getValue());
                                    closeBg();
                                    break;
                                case CLUSTER_CONFIG: {
                                    checkArgument(clusterConfigInfo == null,
                                            "received cluster config message twice!");
                                    clusterConfigInfo = new ClusterConfigInfo();
                                    ClusterConfig clusterConfig = (ClusterConfig) message.getValue();
                                    for (Folder folder : firstNonNull(clusterConfig.getFoldersList(),
                                            Collections.<Folder>emptyList())) {
                                        ClusterConfigFolderInfo.Builder builder = ClusterConfigFolderInfo
                                                .newBuilder().setFolder(folder.getId())
                                                .setLabel(folder.getLabel());
                                        Map<String, Device> devicesById = Maps.uniqueIndex(
                                                firstNonNull(folder.getDevicesList(),
                                                        Collections.<Device>emptyList()),
                                                new Function<Device, String>() {
                                                    @Override
                                                    public String apply(Device input) {
                                                        return hashDataToDeviceIdString(
                                                                input.getId().toByteArray());
                                                    }
                                                });
                                        Device otherDevice = devicesById.get(address.getDeviceId()),
                                                ourDevice = devicesById.get(configuration.getDeviceId());
                                        if (otherDevice != null) {
                                            builder.setAnnounced(true);
                                        }
                                        final ClusterConfigFolderInfo folderInfo;
                                        if (ourDevice != null) {
                                            folderInfo = builder.setShared(true).build();
                                            logger.info("folder shared from device = {} folder = {}",
                                                    address.getDeviceId(), folderInfo);
                                            if (!configuration.getFolderNames()
                                                    .contains(folderInfo.getFolder())) {
                                                configuration.edit().addFolders(new FolderInfo(
                                                        folderInfo.getFolder(), folderInfo.getLabel()));
                                                logger.info("new folder shared = {}", folderInfo);
                                                eventBus.post(new NewFolderSharedEvent() {
                                                    @Override
                                                    public String getFolder() {
                                                        return folderInfo.getFolder();
                                                    }

                                                });
                                            }
                                        } else {
                                            folderInfo = builder.build();
                                            logger.info("folder not shared from device = {} folder = {}",
                                                    address.getDeviceId(), folderInfo);
                                        }
                                        clusterConfigInfo.putFolderInfo(folderInfo);
                                        configuration.edit()
                                                .addPeers(
                                                        Iterables
                                                                .filter(Iterables.transform(
                                                                        firstNonNull(folder.getDevicesList(),
                                                                                Collections
                                                                                        .<Device>emptyList()),
                                                                        new Function<Device, DeviceInfo>() {
                                                                            @Override
                                                                            public DeviceInfo apply(
                                                                                    Device device) {
                                                                                String deviceId = hashDataToDeviceIdString(
                                                                                        device.getId()
                                                                                                .toByteArray()),
                                                                                        name = device.hasName()
                                                                                                ? device.getName()
                                                                                                : null;
                                                                                return new DeviceInfo(deviceId,
                                                                                        name);
                                                                            }
                                                                        }), new Predicate<DeviceInfo>() {
                                                                            @Override
                                                                            public boolean apply(DeviceInfo s) {
                                                                                return !equal(s.getDeviceId(),
                                                                                        configuration
                                                                                                .getDeviceId());
                                                                            }
                                                                        }));
                                    }
                                    configuration.edit().persistLater();
                                    eventBus.post(new ClusterConfigMessageProcessedEvent(clusterConfig));
                                }
                                    break;
                                }
                            } catch (Exception ex) {
                                if (messageProcessingService.isShutdown()) {
                                    return;
                                }
                                logger.error("error processing message", ex);
                                closeBg();
                                throw ex;
                            }
                        }
                    });
                }
            } catch (Exception ex) {
                if (inExecutorService.isShutdown()) {
                    return;
                }
                logger.error("error receiving message", ex);
                closeBg();
            }
        }
    });
}

From source file:com.evolveum.midpoint.schema.util.WfContextUtil.java

@NotNull
private static TriggerType createTrigger(XMLGregorianCalendar triggerTime, WorkItemActionsType actions,
        Pair<Duration, AbstractWorkItemActionType> notifyInfo, PrismContext prismContext,
        @Nullable String workItemId, @NotNull String handlerUri) throws SchemaException {
    TriggerType trigger = new TriggerType(prismContext);
    trigger.setTimestamp(triggerTime);//from w  ww  .  ja v a  2  s.  c o m
    trigger.setHandlerUri(handlerUri);
    ExtensionType extension = new ExtensionType(prismContext);
    trigger.setExtension(extension);

    SchemaRegistry schemaRegistry = prismContext.getSchemaRegistry();
    if (workItemId != null) {
        // work item id
        @SuppressWarnings("unchecked")
        @NotNull
        PrismPropertyDefinition<String> workItemIdDef = prismContext.getSchemaRegistry()
                .findPropertyDefinitionByElementName(SchemaConstants.MODEL_EXTENSION_WORK_ITEM_ID);
        PrismProperty<String> workItemIdProp = workItemIdDef.instantiate();
        workItemIdProp.addRealValue(workItemId);
        trigger.getExtension().asPrismContainerValue().add(workItemIdProp);
    }
    // actions
    if (actions != null) {
        @NotNull
        PrismContainerDefinition<WorkItemActionsType> workItemActionsDef = schemaRegistry
                .findContainerDefinitionByElementName(SchemaConstants.MODEL_EXTENSION_WORK_ITEM_ACTIONS);
        PrismContainer<WorkItemActionsType> workItemActionsCont = workItemActionsDef.instantiate();
        workItemActionsCont.add(actions.asPrismContainerValue().clone());
        extension.asPrismContainerValue().add(workItemActionsCont);
    }
    // time before + action
    if (notifyInfo != null) {
        @NotNull
        PrismContainerDefinition<AbstractWorkItemActionType> workItemActionDef = schemaRegistry
                .findContainerDefinitionByElementName(SchemaConstants.MODEL_EXTENSION_WORK_ITEM_ACTION);
        PrismContainer<AbstractWorkItemActionType> workItemActionCont = workItemActionDef.instantiate();
        workItemActionCont.add(notifyInfo.getValue().asPrismContainerValue().clone());
        extension.asPrismContainerValue().add(workItemActionCont);
        @SuppressWarnings("unchecked")
        @NotNull
        PrismPropertyDefinition<Duration> timeBeforeActionDef = schemaRegistry
                .findPropertyDefinitionByElementName(SchemaConstants.MODEL_EXTENSION_TIME_BEFORE_ACTION);
        PrismProperty<Duration> timeBeforeActionProp = timeBeforeActionDef.instantiate();
        timeBeforeActionProp.addRealValue(notifyInfo.getKey());
        extension.asPrismContainerValue().add(timeBeforeActionProp);
    }
    return trigger;
}