Esempio n. 1
0
  /**
   * Prefills the id generators.
   *
   * @param datasource the datasource to use
   * @since $version
   * @author hceylan
   */
  public void preFillGenerators(DataSource datasource) {
    final int nThreads = Runtime.getRuntime().availableProcessors();

    this.idGeneratorExecuter =
        new ThreadPoolExecutor(
            1,
            nThreads, //
            30,
            TimeUnit.SECONDS, //
            new LinkedBlockingQueue<Runnable>(), //
            new GeneratorThreadFactory());

    for (final SequenceGenerator generator : this.sequenceGenerators.values()) {
      this.sequenceQueues.put(
          generator.getName(),
          new SequenceQueue(
              this.jdbcAdaptor,
              datasource,
              this.idGeneratorExecuter,
              generator.getSequenceName(),
              generator.getAllocationSize()));
    }

    for (final TableGenerator generator : this.tableGenerators.values()) {
      this.tableIdQueues.put(
          generator.getName(),
          new TableIdQueue(this.jdbcAdaptor, datasource, this.idGeneratorExecuter, generator));
    }
  }
  private void readGenValue(GeneratedValue gen, DeployBeanProperty prop) {

    String genName = gen.generator();

    SequenceGenerator sequenceGenerator = find(prop, SequenceGenerator.class);
    if (sequenceGenerator != null) {
      if (sequenceGenerator.name().equals(genName)) {
        genName = sequenceGenerator.sequenceName();
      }
    }

    GenerationType strategy = gen.strategy();

    if (strategy == GenerationType.IDENTITY) {
      descriptor.setIdType(IdType.IDENTITY);

    } else if (strategy == GenerationType.SEQUENCE) {
      descriptor.setIdType(IdType.SEQUENCE);
      if (genName != null && genName.length() > 0) {
        descriptor.setIdGeneratorName(genName);
      }

    } else if (strategy == GenerationType.AUTO) {
      if (prop.getPropertyType().equals(UUID.class)) {
        descriptor.setIdGeneratorName(UuidIdGenerator.AUTO_UUID);
        descriptor.setIdType(IdType.GENERATOR);

      } else {
        // use DatabasePlatform defaults
      }
    }
  }
  protected TestsResult simulate(
      int numberOfEvents,
      SequenceGenerator<Integer> userDelayGenerator,
      SequenceGenerator<Integer> processTimeGenerator,
      SequenceGenerator<String> requestIdGenerator)
      throws Exception {
    NumberFormat numberFormat = NumberFormat.getInstance();

    numberFormat.setGroupingUsed(false);
    numberFormat.setMinimumIntegerDigits(String.valueOf(numberOfEvents).length());
    renderView("/queue-size.xhtml");

    ParametersBuilder parametersBuilder = createAjaxParameters().eventsQueue("defaultSizeQueue");
    int time = 0;

    for (int i = 0; i < numberOfEvents; i++) {
      int userDelay = userDelayGenerator.next();
      int requestTime = processTimeGenerator.next();

      time += userDelay;
      ajax(
          time,
          numberFormat.format(i),
          parametersBuilder
              .similarityGroupingId(requestIdGenerator.next())
              .requestTime(requestTime));
    }

    TestsResult result = getTestsResult();

    return result;
  }
Esempio n. 4
0
  /**
   * Performs the sequence generators DDL operations.
   *
   * @param datasource the datasource
   * @param ddlMode the DDL Mode
   * @since $version
   * @author hceylan
   */
  public void performSequencesDdl(DataSource datasource, DDLMode ddlMode) {
    for (final SequenceGenerator sequenceGenerator : this.sequenceGenerators.values()) {
      MetamodelImpl.LOG.info(
          "Performing DDL operations for sequence generators for {0}, mode {1}",
          sequenceGenerator.getName(), ddlMode);

      this.jdbcAdaptor.createSequenceIfNecessary(datasource, sequenceGenerator);
    }
  }
  @Test
  public void shouldSaveNewDiscipline() {
    given(sequenceGenerator.next()).willReturn("123");
    SimpleDiscipline discipline =
        new SimpleDiscipline().setProgram("Aerosciences").setDescription("Flight geeks");

    Discipline savedDiscipline = disciplineRepository.save(discipline);
    assertEquals("123", savedDiscipline.getId());
    assertEquals("Aerosciences", savedDiscipline.getProgram());
    assertEquals("Flight geeks", savedDiscipline.getDescription());

    Discipline foundDiscipline = disciplineRepository.findOne(savedDiscipline.getId());
    assertEquals("123", foundDiscipline.getId());
    assertEquals("Aerosciences", foundDiscipline.getProgram());
    assertEquals("Flight geeks", foundDiscipline.getDescription());
  }
Esempio n. 6
0
 /**
  * Adds the sequence generator to the metamodel
  *
  * @param metadata the generator metadata
  * @since $version
  * @author hceylan
  */
 public synchronized void addSequenceGenerator(SequenceGeneratorMetadata metadata) {
   final SequenceGenerator sequenceGenerator = new SequenceGenerator(metadata);
   this.sequenceGenerators.put(sequenceGenerator.getName(), sequenceGenerator);
 }
 @Override
 public void configure(Type type, Properties params, Dialect dialect) throws MappingException {
   super.configure(type, params, dialect);
 }