コード例 #1
0
  @Override
  public void importIdentifiers(ValueTable sourceValueTable) throws IOException {
    ValueTable identifiersTable =
        identifiersTableService.ensureIdentifiersTable(sourceValueTable.getEntityType());

    ImmutableSet.Builder<String> builder = ImmutableSet.builder();
    builder.addAll(
        Iterables.transform(
            sourceValueTable.getVariableEntities(),
            new Function<VariableEntity, String>() {

              @Override
              public String apply(VariableEntity input) {
                return input.getIdentifier();
              }
            }));
    ValueTable sourceIdentifiersTable =
        new StaticValueTable(
            sourceValueTable.getDatasource(),
            identifiersTable.getName(),
            builder.build(),
            identifiersTable.getEntityType());

    // Don't copy null values otherwise, we'll delete existing mappings
    DatasourceCopier.Builder.newCopier()
        .dontCopyNullValues()
        .withLoggingListener()
        .build()
        .copy(sourceIdentifiersTable, identifiersTableService.getDatasource());
  }
コード例 #2
0
  @Override
  public void copyIdentifiers(ValueTable identifiersValueTable) throws IOException {
    ValueTable destinationIdentifiersTable =
        identifiersTableService.ensureIdentifiersTable(identifiersValueTable.getEntityType());
    ValueTable sourceIdentifiersTable = identifiersValueTable;

    if (!destinationIdentifiersTable.getName().equals(identifiersValueTable.getName())) {
      sourceIdentifiersTable =
          new RenameValueTable(destinationIdentifiersTable.getName(), identifiersValueTable);
    }

    // Don't copy null values otherwise, we'll delete existing mappings
    DatasourceCopier.Builder.newCopier()
        .dontCopyNullValues()
        .withLoggingListener()
        .build()
        .copy(sourceIdentifiersTable, identifiersTableService.getDatasource());
  }
コード例 #3
0
  @Override
  public int importIdentifiers(
      @NotNull IdentifiersMapping idMapping, @NotNull IdentifierGenerator pIdentifier) {
    IdentifierGenerator localParticipantIdentifier =
        pIdentifier == null ? participantIdentifier : pIdentifier;

    ValueTable identifiersTable =
        identifiersTableService.ensureIdentifiersTable(idMapping.getEntityType());
    Variable variable = identifiersTableService.ensureIdentifiersMapping(idMapping);
    PrivateVariableEntityMap entityMap =
        new OpalPrivateVariableEntityMap(identifiersTable, variable, localParticipantIdentifier);

    List<VariableEntity> systemEntities =
        StreamSupport.stream(
                new IdentifiersMaps(identifiersTable, idMapping.getName()).spliterator(), true) //
            .filter(unitId -> !unitId.hasPrivateIdentifier()) //
            .map(IdentifiersMaps.IdentifiersMap::getSystemEntity) //
            .collect(Collectors.toList());

    entityMap.createPrivateEntities(systemEntities);

    return systemEntities.size();
  }