Search in sources :

Example 1 with RandomStringUtils.randomAlphanumeric

use of org.apache.commons.lang3.RandomStringUtils.randomAlphanumeric in project webofneeds by researchstudio-sat.

the class URISerializeVsToStringTest method main.

public static void main(String[] args) throws IOException, ClassNotFoundException {
    StopWatch readWatch = new StopWatch();
    StopWatch writeWatch = new StopWatch();
    StopWatch stopWatch = new StopWatch();
    String myuri = "https://192.168.124.49:8443/won/resource/need/561548487155823600";
    readWatch.start();
    readWatch.suspend();
    writeWatch.start();
    writeWatch.suspend();
    stopWatch.start();
    stopWatch.suspend();
    for (int i = 0; i < 1000 * 1000; i++) {
        String toParse = myuri + RandomStringUtils.randomAlphanumeric(10);
        stopWatch.resume();
        readWatch.resume();
        URI theURI = URI.create(toParse);
        readWatch.suspend();
        writeWatch.resume();
        String anotherString = theURI.toString();
        writeWatch.suspend();
        stopWatch.suspend();
    }
    System.out.println("test1 took " + stopWatch.getTime() + " millis");
    System.out.println("write test2 took " + writeWatch.getTime() + " millis");
    System.out.println("read test2 took " + readWatch.getTime() + " millis");
    readWatch.reset();
    readWatch.start();
    readWatch.suspend();
    writeWatch.reset();
    writeWatch.start();
    writeWatch.suspend();
    stopWatch.reset();
    stopWatch.start();
    stopWatch.suspend();
    for (int i = 0; i < 1000 * 1000; i++) {
        URI theURI = URI.create(myuri + RandomStringUtils.randomAlphanumeric(10));
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        ObjectOutputStream oos = new ObjectOutputStream(baos);
        stopWatch.resume();
        writeWatch.resume();
        oos.writeObject(theURI);
        writeWatch.suspend();
        byte[] data = baos.toByteArray();
        stopWatch.suspend();
        ByteArrayInputStream bais = new ByteArrayInputStream(data);
        ObjectInputStream ois = new ObjectInputStream(bais);
        stopWatch.resume();
        readWatch.resume();
        URI theSameURI = (URI) ois.readObject();
        readWatch.suspend();
        stopWatch.suspend();
    }
    System.out.println("test2 took " + stopWatch.getTime() + " millis");
    System.out.println("write test2 took " + writeWatch.getTime() + " millis");
    System.out.println("read test2 took " + readWatch.getTime() + " millis");
}
Also used : URI(java.net.URI) StopWatch(org.apache.commons.lang3.time.StopWatch)

Example 2 with RandomStringUtils.randomAlphanumeric

use of org.apache.commons.lang3.RandomStringUtils.randomAlphanumeric in project dhis2-core by dhis2.

the class TrackedEntityInstanceAttributesAggregateTest method populatePrerequisites.

private void populatePrerequisites(boolean removeOwnership) {
    doInTransaction(() -> {
        ProgramStage programStageA = createProgramStage(programB, true);
        ProgramStage programStageB = createProgramStage(programB, true);
        ProgramStage programStageA1 = createProgramStage(programA, true);
        ProgramStage programStageA2 = createProgramStage(programA, true);
        // Create 5 Tracked Entity Attributes (named A .. E)
        IntStream.range(A, F).mapToObj(i -> Character.toString((char) i)).forEach(c -> attributeService.addTrackedEntityAttribute(createTrackedEntityAttribute(c.charAt(0), ValueType.TEXT)));
        // Transform the Tracked Entity Attributes into a List of
        // TrackedEntityTypeAttribute
        List<TrackedEntityTypeAttribute> teatList = IntStream.range(A, C).mapToObj(i -> Character.toString((char) i)).map(s -> new TrackedEntityTypeAttribute(trackedEntityTypeA, attributeService.getTrackedEntityAttributeByName("Attribute" + s))).collect(Collectors.toList());
        // Assign 2 (A, B) TrackedEntityTypeAttribute to Tracked Entity Type
        // A
        trackedEntityTypeA.getTrackedEntityTypeAttributes().addAll(teatList);
        // Make TET public
        trackedEntityTypeA.setPublicAccess(AccessStringHelper.FULL);
        manager.update(trackedEntityTypeA);
        programB = createProgram('B', new HashSet<>(), organisationUnitA);
        programB.setProgramType(ProgramType.WITH_REGISTRATION);
        programB.setCategoryCombo(categoryComboA);
        programB.setAccessLevel(AccessLevel.PROTECTED);
        programB.setUid(CodeGenerator.generateUid());
        programB.setCode(RandomStringUtils.randomAlphanumeric(10));
        Set<UserAccess> programBUserAccess = new HashSet<>();
        programBUserAccess.add(new UserAccess(currentUserService.getCurrentUser(), AccessStringHelper.FULL));
        programB.setUserAccesses(programBUserAccess);
        programB.setProgramStages(Stream.of(programStageA, programStageB).collect(Collectors.toCollection(HashSet::new)));
        programService.addProgram(programB);
        programA = createProgram('A', new HashSet<>(), organisationUnitA);
        programA.setProgramType(ProgramType.WITH_REGISTRATION);
        programA.setCategoryCombo(categoryComboA);
        programA.setUid(CodeGenerator.generateUid());
        programA.setCode(RandomStringUtils.randomAlphanumeric(10));
        programA.setProgramStages(Stream.of(programStageA1, programStageA2).collect(Collectors.toCollection(HashSet::new)));
        programService.addProgram(programA);
        // Because access strings isnt getting persisted with programService
        // methods for some reason
        programB.setPublicAccess(AccessStringHelper.FULL);
        manager.update(programB);
        programA.setPublicAccess(AccessStringHelper.FULL);
        manager.update(programA);
        programStageA.setPublicAccess(AccessStringHelper.FULL);
        manager.update(programStageA);
        programStageB.setPublicAccess(AccessStringHelper.FULL);
        manager.update(programStageB);
        programStageA1.setPublicAccess(AccessStringHelper.FULL);
        manager.update(programStageA1);
        programStageA2.setPublicAccess(AccessStringHelper.FULL);
        manager.update(programStageA2);
        // Assign ProgramTrackedEntityAttribute C to program A
        List<ProgramTrackedEntityAttribute> pteaListA = IntStream.range(C, D).mapToObj(i -> Character.toString((char) i)).map(s -> new ProgramTrackedEntityAttribute(programA, attributeService.getTrackedEntityAttributeByName("Attribute" + s))).collect(Collectors.toList());
        // Assign ProgramTrackedEntityAttribute D, E to program B
        List<ProgramTrackedEntityAttribute> pteaListB = IntStream.range(D, F).mapToObj(i -> Character.toString((char) i)).map(s -> new ProgramTrackedEntityAttribute(programB, attributeService.getTrackedEntityAttributeByName("Attribute" + s))).collect(Collectors.toList());
        programA.getProgramAttributes().addAll(pteaListA);
        programB.getProgramAttributes().addAll(pteaListB);
        manager.update(programA);
        manager.update(programB);
        // Create a TEI associated to program B
        final org.hisp.dhis.trackedentity.TrackedEntityInstance trackedEntityInstance = persistTrackedEntityInstance(ImmutableMap.of("program", programB));
        ProgramInstance piB = new ProgramInstance(programB, trackedEntityInstance, organisationUnitA);
        piB.setEnrollmentDate(new Date());
        manager.save(piB);
        ProgramInstance piA = new ProgramInstance(programA, trackedEntityInstance, organisationUnitA);
        piA.setEnrollmentDate(new Date());
        manager.save(piA);
        if (removeOwnership) {
            trackerOwnershipManager.assignOwnership(trackedEntityInstance, programB, organisationUnitB, true, true);
            trackerOwnershipManager.assignOwnership(trackedEntityInstance, programA, organisationUnitA, true, true);
        } else {
            trackerOwnershipManager.assignOwnership(trackedEntityInstance, programB, organisationUnitA, true, true);
            trackerOwnershipManager.assignOwnership(trackedEntityInstance, programA, organisationUnitA, true, true);
        }
        // Assign Attribute A,B,E to Tracked Entity Instance
        attributeValueService.addTrackedEntityAttributeValue(new TrackedEntityAttributeValue(attributeService.getTrackedEntityAttributeByName("AttributeA"), trackedEntityInstance, "A"));
        attributeValueService.addTrackedEntityAttributeValue(new TrackedEntityAttributeValue(attributeService.getTrackedEntityAttributeByName("AttributeB"), trackedEntityInstance, "B"));
        attributeValueService.addTrackedEntityAttributeValue(new TrackedEntityAttributeValue(attributeService.getTrackedEntityAttributeByName("AttributeC"), trackedEntityInstance, "C"));
        attributeValueService.addTrackedEntityAttributeValue(new TrackedEntityAttributeValue(attributeService.getTrackedEntityAttributeByName("AttributeE"), trackedEntityInstance, "E"));
    });
}
Also used : IntStream(java.util.stream.IntStream) BeforeEach(org.junit.jupiter.api.BeforeEach) Date(java.util.Date) ValueType(org.hisp.dhis.common.ValueType) TrackedEntityAttributeValueService(org.hisp.dhis.trackedentityattributevalue.TrackedEntityAttributeValueService) MockCurrentUserService(org.hisp.dhis.mock.MockCurrentUserService) Autowired(org.springframework.beans.factory.annotation.Autowired) TrackedEntityAttributeValue(org.hisp.dhis.trackedentityattributevalue.TrackedEntityAttributeValue) Program(org.hisp.dhis.program.Program) TrackedEntityAttributeService(org.hisp.dhis.trackedentity.TrackedEntityAttributeService) HashSet(java.util.HashSet) ProgramInstance(org.hisp.dhis.program.ProgramInstance) ImmutableMap(org.testcontainers.shaded.com.google.common.collect.ImmutableMap) Matchers.hasSize(org.hamcrest.Matchers.hasSize) User(org.hisp.dhis.user.User) MatcherAssert.assertThat(org.hamcrest.MatcherAssert.assertThat) TrackedEntityInstance(org.hisp.dhis.dxf2.events.trackedentity.TrackedEntityInstance) TrackedEntityInstanceService(org.hisp.dhis.dxf2.events.trackedentity.TrackedEntityInstanceService) AccessStringHelper(org.hisp.dhis.security.acl.AccessStringHelper) TrackedEntityInstanceQueryParams(org.hisp.dhis.trackedentity.TrackedEntityInstanceQueryParams) TrackedEntityInstanceParams(org.hisp.dhis.dxf2.events.TrackedEntityInstanceParams) Set(java.util.Set) ReflectionTestUtils(org.springframework.test.util.ReflectionTestUtils) Collectors(java.util.stream.Collectors) Attribute(org.hisp.dhis.dxf2.events.trackedentity.Attribute) TrackedEntityTypeAttribute(org.hisp.dhis.trackedentity.TrackedEntityTypeAttribute) ProgramStage(org.hisp.dhis.program.ProgramStage) Sets(com.google.common.collect.Sets) Test(org.junit.jupiter.api.Test) TrackerOwnershipManager(org.hisp.dhis.trackedentity.TrackerOwnershipManager) List(java.util.List) Stream(java.util.stream.Stream) UserAccess(org.hisp.dhis.user.UserAccess) ProgramType(org.hisp.dhis.program.ProgramType) ProgramTrackedEntityAttribute(org.hisp.dhis.program.ProgramTrackedEntityAttribute) Matchers.is(org.hamcrest.Matchers.is) RandomStringUtils(org.apache.commons.lang3.RandomStringUtils) CodeGenerator(org.hisp.dhis.common.CodeGenerator) TrackerTest(org.hisp.dhis.dxf2.TrackerTest) ProgramService(org.hisp.dhis.program.ProgramService) AccessLevel(org.hisp.dhis.common.AccessLevel) UserAccess(org.hisp.dhis.user.UserAccess) ProgramInstance(org.hisp.dhis.program.ProgramInstance) TrackedEntityAttributeValue(org.hisp.dhis.trackedentityattributevalue.TrackedEntityAttributeValue) Date(java.util.Date) ProgramTrackedEntityAttribute(org.hisp.dhis.program.ProgramTrackedEntityAttribute) TrackedEntityTypeAttribute(org.hisp.dhis.trackedentity.TrackedEntityTypeAttribute) ProgramStage(org.hisp.dhis.program.ProgramStage) HashSet(java.util.HashSet)

Aggregations

Sets (com.google.common.collect.Sets)1 URI (java.net.URI)1 Date (java.util.Date)1 HashSet (java.util.HashSet)1 List (java.util.List)1 Set (java.util.Set)1 Collectors (java.util.stream.Collectors)1 IntStream (java.util.stream.IntStream)1 Stream (java.util.stream.Stream)1 RandomStringUtils (org.apache.commons.lang3.RandomStringUtils)1 StopWatch (org.apache.commons.lang3.time.StopWatch)1 MatcherAssert.assertThat (org.hamcrest.MatcherAssert.assertThat)1 Matchers.hasSize (org.hamcrest.Matchers.hasSize)1 Matchers.is (org.hamcrest.Matchers.is)1 AccessLevel (org.hisp.dhis.common.AccessLevel)1 CodeGenerator (org.hisp.dhis.common.CodeGenerator)1 ValueType (org.hisp.dhis.common.ValueType)1 TrackerTest (org.hisp.dhis.dxf2.TrackerTest)1 TrackedEntityInstanceParams (org.hisp.dhis.dxf2.events.TrackedEntityInstanceParams)1 Attribute (org.hisp.dhis.dxf2.events.trackedentity.Attribute)1