com.google.common.collect.Lists#newCopyOnWriteArrayList ( )源码实例Demo

下面列出了com.google.common.collect.Lists#newCopyOnWriteArrayList ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: pacbot   文件: UserRolesServiceImpl.java
@Override
public Page<UserRolesResponse> getAllUserRoles(String searchTerm, int page, int size) {
	Page<UserRoles> userRoles = userRolesRepository.findAllUserRolesDetails(searchTerm, PageRequest.of(page, size));
	List<UserRolesResponse> allUserRolesList = Lists.newCopyOnWriteArrayList();
	userRoles.getContent().forEach(userRoleDetail -> {
		UserRolesResponse userRolesResponse = new UserRolesResponse();
		if(userRoleDetail != null){
			userRolesResponse.setCreatedBy(userRoleDetail.getOwner());
			userRolesResponse.setCreatedDate(userRoleDetail.getCreatedDate());
			userRolesResponse.setModifiedDate(userRoleDetail.getModifiedDate());
			userRolesResponse.setRoleId(userRoleDetail.getRoleId());
			userRolesResponse.setDescription(userRoleDetail.getRoleDesc());
			userRolesResponse.setRoleName(userRoleDetail.getRoleName());
			userRolesResponse.setUsers(userRoleDetail.getUsers().parallelStream().map(user -> user != null ? user.getUserId() : StringUtils.EMPTY).collect(Collectors.toList()));
			allUserRolesList.add(userRolesResponse);
		} 
	 });
	Page<UserRolesResponse> allUserRoles = new PageImpl<UserRolesResponse>(allUserRolesList, PageRequest.of(page, size), userRoles.getTotalElements());
	return allUserRoles;
}
 
源代码2 项目: Juice   文件: RestService.java
public TaskKill kills(long taskId) {
    JuiceTask task = daoUtils.queryTask(taskId);

    if (null == task) {
        throw new RestException(CommonStatusCode.QUERY_RECORD_EMPTY.getStatus(), "task not exist to kill!");
    }

    if (task.getTaskStatus() > TaskResult.Result.RUNNING.getType()) {
        return new TaskKill(false, task.getTaskStatus(), task.getMessage());
    }

    TaskManagement taskManagement = new TaskManagement(Lists.newCopyOnWriteArrayList(), KILL);
    log.info("task id-> " + task.getTaskId() + "task name-> " +  task.getTaskName() + "retry-> " + task.getRetry() + "agent id-> " + task.getAgentId());
    TaskManagement.TaskAgentRel taskAgentRel = new TaskManagement.TaskAgentRel(task.getTaskId(), task.getTaskName(), task.getRetry(), task.getAgentId());
    taskManagement.getTaskAgentRels().add(taskAgentRel);
    log.info("push q start");
    cacheUtils.pushToQueue(cachesBizConfig.getManagementQueue(), gson.toJson(taskManagement));
    log.info("push q fin");
    return new TaskKill(true, task.getTaskStatus(), "juice accept kill task command");

}
 
@BeforeMethod(alwaysRun=true)
@Override
public void setUp() throws Exception {
    super.setUp();

    latches = Lists.newCopyOnWriteArrayList();
    
    machineSpec = LocationSpec.create(SshMachineLocation.class)
            .configure("address", "1.2.3.4")
            .configure(SshMachineLocation.SSH_TOOL_CLASS, RecordingSshTool.class.getName());
    
    locationProvisioner = app().getManagementContext().getLocationManager().createLocation(LocationSpec.create(FixedListMachineProvisioningLocation.class)
            .configure(FixedListMachineProvisioningLocation.MACHINE_SPECS, ImmutableList.<LocationSpec<? extends MachineLocation>>of(
                    machineSpec)));

    executor = MoreExecutors.listeningDecorator(Executors.newCachedThreadPool());
    
    RecordingSshTool.clear();
}
 
源代码4 项目: brooklyn-server   文件: ServiceReplacerTest.java
@BeforeMethod(alwaysRun=true)
public void setUp() throws Exception {
    super.setUp();
    
    loc = app.newSimulatedLocation();
    events = Lists.newCopyOnWriteArrayList();
    eventListener = new SensorEventListener<Object>() {
        @Override public void onEvent(SensorEvent<Object> event) {
            events.add(event);
        }
    };
}
 
源代码5 项目: Lottor   文件: CountDownLatchHelper.java
public CountDownLatchHelper() {
    executes = Lists.newCopyOnWriteArrayList();
    data = Lists.newCopyOnWriteArrayList();
    threadPool= new ThreadPoolExecutor(Runtime.getRuntime().availableProcessors(), Runtime.getRuntime().availableProcessors(),
            0L, TimeUnit.MILLISECONDS,
            new LinkedBlockingQueue<>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());

}
 
源代码6 项目: Juice   文件: RestService.java
public TaskReconcile reconciles(List<Long> taskIds) {
    List<JuiceTask> tasks = daoUtils.queryTasks(taskIds);
    Map<Long, TaskReconcile.Reconcile> reconcileMap = getTaskReconcile(taskIds);
    TaskManagement taskManagement = new TaskManagement(Lists.newCopyOnWriteArrayList(), RECONCILE);
    tasks.stream().parallel().forEach(t -> {
        String value = t.getAgentId();

        boolean isReconciled = false;
        String message = "";
        TaskReconcile.Reconcile reconcile = reconcileMap.get(t.getTaskId());
        if (null == reconcile) {
            String error = "taskId not matched with database record, taskId: " + t.getTaskId();
            log.warn(error);
            throw new RestException(ErrorCode.OBJECT_NOT_EQUAL_ERROR.getCode(), error);
        } else if (!t.getTaskStatus().equals(TaskResult.Result.RUNNING.getType())) {
            message = "not reconcile due to terminal task status : " + TaskResult.Result.getName(t.getTaskStatus());
        } else if (StringUtils.isBlank(value)) {
            reconcile.setReconciled(false);
            daoUtils.finishTaskWithSource(t.getTaskId(), TaskResult.Result.EXPIRED.getType(), "task expired", "");
            message = "not reconcile due to terminal task status : " + TaskResult.Result.EXPIRED.name();
        } else {
            TaskManagement.TaskAgentRel taskAgentRel = new TaskManagement.TaskAgentRel(t.getTaskId(), t.getTaskName(), t.getRetry(), value);
            taskManagement.getTaskAgentRels().add(taskAgentRel);
            isReconciled = true;
            message = "reconcile task";
        }

        reconcile.setTaskId(t.getTaskId());
        reconcile.setReconciled(isReconciled);
        reconcile.setMessage(message);
    });
    int reconcileCount = taskManagement.getTaskAgentRels().size();
    if (reconcileCount > 0) {
        cacheUtils.pushToQueue(cachesBizConfig.getManagementQueue(), gson.toJson(taskManagement));
    }
    return new TaskReconcile(taskIds.size(), reconcileCount, mapsToLists(reconcileMap));
}
 
源代码7 项目: Juice   文件: RestService.java
private List<TaskReconcile.Reconcile> mapsToLists(Map<Long, TaskReconcile.Reconcile> map) {
    final List<TaskReconcile.Reconcile> reconciles = Lists.newCopyOnWriteArrayList();
    map.entrySet().parallelStream().forEach(
            v -> {
                reconciles.add(v.getValue());
            }
    );
    return reconciles;
}
 
源代码8 项目: brooklyn-server   文件: ServiceRestarterTest.java
@Override
@BeforeMethod(alwaysRun=true)
public void setUp() throws Exception {
    super.setUp();
    e1 = app.createAndManageChild(EntitySpec.create(TestEntity.class));
    events = Lists.newCopyOnWriteArrayList();
    eventListener = new SensorEventListener<Object>() {
        @Override public void onEvent(SensorEvent<Object> event) {
            events.add(event);
        }
    };
}
 
源代码9 项目: onos   文件: InOrderFlowObjectiveManagerTest.java
@Test
public void forwardTimeout() {
    final AtomicInteger counter = new AtomicInteger(0);
    ForwardingObjective fwdTimeout = buildFwdObjective(S1, NID2).add(new ObjectiveContext() {
        @Override
        public void onError(Objective objective, ObjectiveError error) {
            if (Objects.equals(ObjectiveError.INSTALLATIONTIMEOUT, error)) {
                counter.incrementAndGet();
            }
        }
    });
    List<ForwardingObjective> expectFwdObjsTimeout = Lists.newCopyOnWriteArrayList(
            Lists.newArrayList(fwdTimeout, FWD1, FWD2));

    // Reduce timeout so the unit test doesn't have to wait many seconds
    internalSetup(TIMEOUT_THRESH);

    expect(mgr.flowObjectiveStore.getNextGroup(NID1)).andReturn(NGRP1).times(1);
    expect(mgr.flowObjectiveStore.getNextGroup(NID2)).andReturn(NGRP2).times(2);
    replay(mgr.flowObjectiveStore);

    // Force this objective to time out
    offset = mgr.objTimeoutMs * 3;

    expectFwdObjsTimeout.forEach(fwdObj -> mgr.forward(DEV1, fwdObj));

    // Wait for the pipeline operation to complete
    int expectedTime = (bound + offset) * 3;
    assertAfter(expectedTime, expectedTime * 5, () -> assertEquals(expectFwdObjsTimeout.size(), actualObjs.size()));

    assertAfter(expectedTime, expectedTime * 5, () -> assertTrue(counter.get() != 0));
    assertTrue(actualObjs.indexOf(fwdTimeout) < actualObjs.indexOf(FWD1));

    verify(mgr.flowObjectiveStore);
}
 
源代码10 项目: Thunder   文件: ConnectionCacheEntity.java
private synchronized List<ConnectionEntity> retrieveConnectionEntityList(String interfaze) {
    List<ConnectionEntity> connectionEntityList = getConnectionEntityList(interfaze);
    if (connectionEntityList == null) {
        connectionEntityList = Lists.newCopyOnWriteArrayList();
        connectionEntityMap.put(interfaze, connectionEntityList);
    }

    return connectionEntityList;
}
 
源代码11 项目: brooklyn-server   文件: JcloudsRebindStubTest.java
@Override
@BeforeMethod(alwaysRun=true)
public void setUp() throws Exception {
    super.setUp();
    mgmts = Lists.newCopyOnWriteArrayList(ImmutableList.<ManagementContext>of(origManagementContext));
    machines = Multimaps.synchronizedMultimap(ArrayListMultimap.<ManagementContext, JcloudsSshMachineLocation>create());
}
 
源代码12 项目: brooklyn-server   文件: AbstractJcloudsLiveTest.java
@BeforeMethod(alwaysRun=true)
public void setUp() throws Exception {
    machines = Lists.newCopyOnWriteArrayList();
    managementContext = newManagementContext();
    
    // Don't let any defaults from brooklyn.properties (except credentials) interfere with test
    brooklynProperties = managementContext.getBrooklynProperties();
    stripBrooklynProperties(brooklynProperties);
}
 
@Override
@BeforeMethod(alwaysRun=true)
public void setUp() throws Exception {
    super.setUp();
    RecordingSshTool.clear();
    RecordingWinRmTool.clear();
    mgmts = Lists.newCopyOnWriteArrayList(ImmutableList.<ManagementContext>of(origManagementContext));
    machines = Multimaps.synchronizedMultimap(ArrayListMultimap.<ManagementContext, JcloudsSshMachineLocation>create());
}
 
源代码14 项目: brooklyn-server   文件: BasicStartableTest.java
@Test
public void testAppliesFilterToEntities() throws Exception {
    final List<Object> contexts = Lists.newCopyOnWriteArrayList();
    
    LocationsFilter filter = new LocationsFilter() {
        private static final long serialVersionUID = 7078046521812992013L;
        @Override public List<Location> filterForContext(List<Location> locations, Object context) {
            contexts.add(context);
            assertEquals(locations, ImmutableList.of(loc1, loc2));
            if (context instanceof Entity) {
                String entityName = ((Entity)context).getDisplayName();
                if ("1".equals(entityName)) {
                    return ImmutableList.<Location>of(loc1);
                } else if ("2".equals(entityName)) {
                    return ImmutableList.<Location>of(loc2);
                } else {
                    return ImmutableList.<Location>of();
                }
            } else {
                return ImmutableList.<Location>of();
            }
        }
    };
    BasicStartable startable = app.addChild(EntitySpec.create(BasicStartable.class)
            .configure(BasicStartable.LOCATIONS_FILTER, filter));
    TestEntity entity = startable.addChild(EntitySpec.create(TestEntity.class).displayName("1"));
    TestEntity entity2 = startable.addChild(EntitySpec.create(TestEntity.class).displayName("2"));
    app.start(ImmutableList.of(loc1, loc2));
    
    assertEqualsIgnoringOrder(entity.getLocations(), ImmutableSet.of(loc1));
    assertEqualsIgnoringOrder(entity2.getLocations(), ImmutableSet.of(loc2));
    assertEqualsIgnoringOrder(contexts, ImmutableList.of(entity, entity2));
}
 
源代码15 项目: TabooLib   文件: NMS.java
public List<NBTAttribute> getAttribute(ItemStack item) {
    NBTCompound nbt = loadNBT(item);
    return !nbt.containsKey("AttributeModifiers") ? Lists.newCopyOnWriteArrayList() : nbt.get("AttributeModifiers").asList().stream().map(element -> NBTAttribute.fromNBT(element.asCompound())).collect(Collectors.toCollection(CopyOnWriteArrayList::new));
}
 
源代码16 项目: hmily   文件: HmilyTransaction.java
public HmilyTransaction(final String transId) {
    this.transId = transId;
    this.createTime = new Date();
    this.lastTime = new Date();
    hmilyParticipants = Lists.newCopyOnWriteArrayList();
}
 
源代码17 项目: myth   文件: MythTransaction.java
public MythTransaction() {
    this.transId = IdWorkerUtils.getInstance().createUUID();
    this.createTime = new Date();
    this.lastTime = new Date();
    mythParticipants = Lists.newCopyOnWriteArrayList();
}
 
@Test(groups="Integration",invocationCount=20)
public void testWarnsWhenMaxCapReached() {
    final List<MaxPoolSizeReachedEvent> maxReachedEvents = Lists.newCopyOnWriteArrayList();
    tc.resize(1);
    
    BasicNotificationSensor<MaxPoolSizeReachedEvent> maxSizeReachedSensor = AutoScalerPolicy.DEFAULT_MAX_SIZE_REACHED_SENSOR;
    
    app.subscriptions().subscribe(tc, maxSizeReachedSensor, new SensorEventListener<MaxPoolSizeReachedEvent>() {
            @Override public void onEvent(SensorEvent<MaxPoolSizeReachedEvent> event) {
                maxReachedEvents.add(event.getValue());
            }});
    
    tc.policies().add(AutoScalerPolicy.builder()
            .metric(MY_ATTRIBUTE)
            .metricLowerBound(50)
            .metricUpperBound(100)
            .maxPoolSize(6)
            .maxSizeReachedSensor(maxSizeReachedSensor)
            .buildSpec());

    // workload can be handled by 6 servers, so no need to notify: 6 <= (100*6)/50
    tc.sensors().set(MY_ATTRIBUTE, 600);
    Asserts.succeedsEventually(currentSizeAsserter(tc, 6));
    assertTrue(maxReachedEvents.isEmpty());
    
    // Increases to above max capacity: would require (100000*6)/100 = 6000
    tc.sensors().set(MY_ATTRIBUTE, 100000);
    
    // Assert our listener gets notified (once)
    Asserts.succeedsEventually(new Runnable() {
        @Override
        public void run() {
            assertEquals(maxReachedEvents.size(), 1);
            assertEquals(maxReachedEvents.get(0).getMaxAllowed(), 6);
            assertEquals(maxReachedEvents.get(0).getCurrentPoolSize(), 6);
            assertEquals(maxReachedEvents.get(0).getCurrentUnbounded(), 6000);
            assertEquals(maxReachedEvents.get(0).getMaxUnbounded(), 6000);
            assertEquals(maxReachedEvents.get(0).getTimeWindow(), 0);
        }});
    Asserts.succeedsContinually(new Runnable() {
            @Override public void run() {
                assertEquals(maxReachedEvents.size(), 1);
            }});
    currentSizeAsserter(tc, 6).run();
}
 
源代码19 项目: apollo   文件: ReleaseMessageScanner.java
public ReleaseMessageScanner() {
  listeners = Lists.newCopyOnWriteArrayList();
  executorService = Executors.newScheduledThreadPool(1, ApolloThreadFactory
      .create("ReleaseMessageScanner", true));
}
 
@BeforeMethod(alwaysRun = true)
@Override
public void setUp() throws Exception {
    super.setUp();
    machines = Lists.newCopyOnWriteArrayList();
}