List of usage examples for java.util.concurrent.atomic AtomicInteger getAndIncrement
public final int getAndIncrement()
From source file:com.evilisn.ScheduledTasks.java
@Scheduled(fixedRate = 10 * 60000) public void scheduledCheckOCSP() throws InterruptedException { log.info("fetching certs"); ArrayList<Cert> certs = (ArrayList<Cert>) getCerts(); log.info(String.format("[%d] certs to be checked.", certs.size())); Date now = new Date(); long startTime = now.getTime(); System.setProperty("java.util.concurrent.ForkJoinPool.common.parallelism", "50"); AtomicInteger c_REVOKED = new AtomicInteger(); AtomicInteger c_GOOD = new AtomicInteger(); AtomicInteger c_UNKNOWN = new AtomicInteger(); AtomicInteger c_VALID = new AtomicInteger(); AtomicInteger c_EXPIRED = new AtomicInteger(); certs.parallelStream().forEach(o -> { try {//from ww w. j a v a 2s . c om if (o.getClient_cert().getNotAfter().after(now)) { OCSP.RevocationStatus.CertStatus resp = OCSP.check(o.getClient_cert(), o.getIssuer_cert()) .getCertStatus(); log.info(String.format("Serial Number [%20s]| OCSP Status:[%s]", o.getClient_cert().getSerialNumber(), resp.toString())); c_VALID.getAndIncrement(); if (resp == OCSP.RevocationStatus.CertStatus.GOOD) c_GOOD.getAndIncrement(); if (resp == OCSP.RevocationStatus.CertStatus.UNKNOWN) c_UNKNOWN.getAndIncrement(); if (resp == OCSP.RevocationStatus.CertStatus.REVOKED) c_REVOKED.getAndIncrement(); } else { //expired. c_EXPIRED.getAndIncrement(); } } catch (IOException e) { e.printStackTrace(); } catch (CertPathValidatorException e) { e.printStackTrace(); } }); long endTime = System.currentTimeMillis(); log.info("ALL " + certs.size() + " certificates processed in " + (endTime - startTime) / 100 + " seconds, with " + c_VALID.get() + " valid certs, " + c_EXPIRED + " expired certs, among which " + c_GOOD.get() + " is GOOD, " + c_REVOKED.get() + " is revoked, and " + c_UNKNOWN.get() + " is KNOWN."); }
From source file:com.spectralogic.ds3client.helpers.FileSystemHelper_Test.java
private void putObjectThenRunVerification(final FileSystemHelper fileSystemHelper, final ResultVerifier resultVerifier) throws IOException, URISyntaxException { try {/*from ww w .j a v a 2 s. c o m*/ final String DIR_NAME = "largeFiles/"; final String[] FILE_NAMES = new String[] { "lesmis-copies.txt" }; final Path dirPath = ResourceUtils.loadFileResource(DIR_NAME); final AtomicLong totalBookSizes = new AtomicLong(0); final List<String> bookTitles = new ArrayList<>(); final List<Ds3Object> objects = new ArrayList<>(); for (final String book : FILE_NAMES) { final Path objPath = ResourceUtils.loadFileResource(DIR_NAME + book); final long bookSize = Files.size(objPath); totalBookSizes.getAndAdd(bookSize); final Ds3Object obj = new Ds3Object(book, bookSize); bookTitles.add(book); objects.add(obj); } final int maxNumBlockAllocationRetries = 1; final int maxNumObjectTransferAttempts = 1; final int retryDelay = -1; final Ds3ClientHelpers ds3ClientHelpers = new Ds3ClientHelpersImpl(client, maxNumBlockAllocationRetries, maxNumObjectTransferAttempts, retryDelay, new SameThreadEventRunner(), fileSystemHelper); final AtomicInteger numTimesCallbackCalled = new AtomicInteger(0); final Ds3ClientHelpers.Job writeJob = ds3ClientHelpers.startWriteJob(BUCKET_NAME, objects); writeJob.attachObjectCompletedListener(new ObjectCompletedListener() { @Override public void objectCompleted(final String name) { numTimesCallbackCalled.getAndIncrement(); final ObjectStorageSpaceVerificationResult result = ds3ClientHelpers .objectsFromBucketWillFitInDirectory(BUCKET_NAME, Arrays.asList(FILE_NAMES), Paths.get(".")); resultVerifier.verifyResult(result, totalBookSizes.get()); } }); writeJob.transfer(new FileObjectPutter(dirPath)); assertEquals(1, numTimesCallbackCalled.get()); } finally { deleteAllContents(client, BUCKET_NAME); } }
From source file:nl.knaw.huygens.alexandria.exporter.LaTeXExporter.java
private Map<TAGMarkup, Integer> calculateLayerIndex(List<TAGMarkup> markupList, Map<TAGTextNode, Integer> textNodeIndex) { List<MarkupLayer> layers = new ArrayList<>(); markupList.forEach(tr -> {// w ww .j a v a 2s . com Optional<MarkupLayer> oLayer = layers.stream().filter(layer -> layer.canAdd(tr)).findFirst(); if (oLayer.isPresent()) { oLayer.get().addMarkup(tr); } else { MarkupLayer layer = new MarkupLayer(textNodeIndex); layer.addMarkup(tr); layers.add(layer); } }); AtomicInteger layerCounter = new AtomicInteger(); Map<TAGMarkup, Integer> index = new HashMap<>(); layers.stream().sorted(ON_MAX_RANGE_SIZE).forEach(layer -> { int i = layerCounter.getAndIncrement(); layer.getMarkups().forEach(tr -> index.put(tr, i)); }); return index; }
From source file:nl.knaw.huygens.alexandria.exporter.LaTeXExporterInMemory.java
private void appendLimen(StringBuilder latexBuilder, Limen limen) { ColorPicker colorPicker = new ColorPicker("blue", "brown", "cyan", "darkgray", "gray", "green", "lightgray", // "lime", "magenta", "olive", "orange", "pink", "purple", "red", "teal", "violet", "black"); latexBuilder.append("\n % TextNodes\n"); if (limen != null) { Set<Markup> openMarkups = new LinkedHashSet<>(); AtomicInteger textNodeCounter = new AtomicInteger(0); Map<TextNode, Integer> textNodeIndices = new HashMap<>(); limen.getTextNodeIterator().forEachRemaining(tn -> { int i = textNodeCounter.getAndIncrement(); textNodeIndices.put(tn, i);//www .j ava 2s.com Set<Markup> markups = limen.getMarkups(tn); List<Markup> toClose = new ArrayList<>(openMarkups); toClose.removeAll(markups); Collections.reverse(toClose); List<Markup> toOpen = new ArrayList<>(markups); toOpen.removeAll(openMarkups); openMarkups.removeAll(toClose); openMarkups.addAll(toOpen); addTextNode(latexBuilder, tn, i); }); connectTextNodes(latexBuilder, textNodeCounter); markMarkups(latexBuilder, limen, colorPicker, textNodeIndices); // drawMarkupsAsSets(latexBuilder, limen, colorPicker, textNodeIndices); } }
From source file:nl.knaw.huygens.alexandria.exporter.LaTeXExporterInMemory.java
private void appendGradedLimen(StringBuilder latexBuilder, Limen limen) { int maxMarkupsPerTextNode = limen.textNodeList.parallelStream().map(limen::getMarkups).mapToInt(Set::size) .max().getAsInt();/*from w ww. j a v a 2s . c o m*/ latexBuilder.append("\n % TextNodes\n"); if (limen != null) { Set<Markup> openMarkups = new LinkedHashSet<>(); AtomicInteger textNodeCounter = new AtomicInteger(0); // Map<TextNode, Integer> textNodeIndices = new HashMap<>(); limen.getTextNodeIterator().forEachRemaining(tn -> { int i = textNodeCounter.getAndIncrement(); // textNodeIndices.put(tn, i); Set<Markup> markups = limen.getMarkups(tn); List<Markup> toClose = new ArrayList<>(openMarkups); toClose.removeAll(markups); Collections.reverse(toClose); List<Markup> toOpen = new ArrayList<>(markups); toOpen.removeAll(openMarkups); openMarkups.removeAll(toClose); openMarkups.addAll(toOpen); int size = limen.getMarkups(tn).size(); float gradient = size / (float) maxMarkupsPerTextNode; int r = 255 - Math.round(255 * gradient); int g = 255; int b = 255 - Math.round(255 * gradient); Color color = new Color(r, g, b); String fillColor = ColorUtil.toLaTeX(color); addGradedTextNode(latexBuilder, tn, i, fillColor, size); }); } }
From source file:org.synchronoss.cloud.nio.multipart.example.web.MultipartController.java
void sendErrorOrSkip(final AtomicInteger synchronizer, final AsyncContext asyncContext, final String message) { if (synchronizer.getAndIncrement() <= 1) { try {/*w w w .java 2 s. co m*/ final ServletResponse servletResponse = asyncContext.getResponse(); if (servletResponse instanceof HttpServletResponse) { ((HttpServletResponse) servletResponse).sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, message); } else { asyncContext.getResponse().getWriter().write(message); } asyncContext.complete(); } catch (Exception e) { log.error("Failed to send back the error response", e); } } }
From source file:nl.knaw.huygens.alexandria.exporter.LaTeXExporter.java
private void appendDocument(StringBuilder latexBuilder, TAGDocument document) { ColorPicker colorPicker = new ColorPicker("blue", "brown", "cyan", "darkgray", "gray", "green", "lightgray", // "lime", "magenta", "olive", "orange", "pink", "purple", "red", "teal", "violet", "black"); latexBuilder.append("\n % TextNodes\n"); if (document != null) { Set<TAGMarkup> openMarkups = new LinkedHashSet<>(); AtomicInteger textNodeCounter = new AtomicInteger(0); Map<TAGTextNode, Integer> textNodeIndices = new HashMap<>(); document.getTextNodeStream().forEach(tn -> { int i = textNodeCounter.getAndIncrement(); textNodeIndices.put(tn, i);//from w w w. j a va 2s. c o m Set<TAGMarkup> markups = document.getMarkupStreamForTextNode(tn)// .collect(Collectors.toSet()); List<TAGMarkup> toClose = new ArrayList<>(openMarkups); toClose.removeAll(markups); Collections.reverse(toClose); List<TAGMarkup> toOpen = new ArrayList<>(markups); toOpen.removeAll(openMarkups); openMarkups.removeAll(toClose); openMarkups.addAll(toOpen); addTextNode(latexBuilder, tn, i); }); connectTextNodes(latexBuilder, textNodeCounter); markMarkups(latexBuilder, document, colorPicker, textNodeIndices); // drawMarkupsAsSets(latexBuilder, document, colorPicker, textNodeIndices); } }
From source file:org.fcrepo.client.ConnectionManagementTest.java
/** * Demonstrates that HTTP connections are released when the FcrepoClient throws an exception. Each method of the * FcrepoClient (get, put, post, etc.) is tested. *//*from w w w. jav a 2s . c o m*/ @Test public void connectionReleasedOnException() { // Removing MOVE and COPY operations as the mock server does not handle them final int expectedCount = HttpMethods.values().length - 2; final AtomicInteger actualCount = new AtomicInteger(0); final MockHttpExpectations.Uris uri = uris.uri500; Stream.of(HttpMethods.values()) // MOVE and COPY do not appear to be supported in the mock server .filter(method -> HttpMethods.MOVE != method && HttpMethods.COPY != method).forEach(method -> { connect(client, uri, method, null); actualCount.getAndIncrement(); }); assertEquals("Expected to make " + expectedCount + " connections; made " + actualCount.get(), expectedCount, actualCount.get()); verifyConnectionRequestedAndClosed(actualCount.get(), connectionManager); }
From source file:nl.knaw.huygens.alexandria.exporter.LaTeXExporter.java
private void appendGradedTAGDocument(StringBuilder latexBuilder, TAGDocument document) { long maxMarkupsPerTextNode = document.getTextNodeStream().map(document::getMarkupStreamForTextNode)// .mapToLong(Stream::count)// .max()// .getAsLong();/* w ww .j a v a 2 s .c o m*/ latexBuilder.append("\n % TextNodes\n"); if (document != null) { Set<TAGMarkup> openMarkups = new LinkedHashSet<>(); AtomicInteger textNodeCounter = new AtomicInteger(0); // Map<TextNodeWrapper, Integer> textNodeIndices = new HashMap<>(); document.getTextNodeStream().forEach(tn -> { int i = textNodeCounter.getAndIncrement(); // textNodeIndices.put(tn, i); Set<TAGMarkup> markups = document.getMarkupStreamForTextNode(tn).collect(Collectors.toSet()); List<TAGMarkup> toClose = new ArrayList<>(openMarkups); toClose.removeAll(markups); Collections.reverse(toClose); List<TAGMarkup> toOpen = new ArrayList<>(markups); toOpen.removeAll(openMarkups); openMarkups.removeAll(toClose); openMarkups.addAll(toOpen); long size = document.getMarkupStreamForTextNode(tn).count(); float gradient = size / (float) maxMarkupsPerTextNode; int r = 255 - Math.round(255 * gradient); int g = 255; int b = 255 - Math.round(255 * gradient); Color color = new Color(r, g, b); String fillColor = ColorUtil.toLaTeX(color); addGradedTextNode(latexBuilder, tn, i, fillColor, size); }); } }
From source file:org.synchronoss.cloud.nio.multipart.example.web.MultipartController.java
void sendResponseOrSkip(final AtomicInteger synchronizer, final AsyncContext asyncContext, final VerificationItems verificationItems) { if (synchronizer.getAndIncrement() == 1) { try {//w ww .j ava2 s .c o m final Writer responseWriter = asyncContext.getResponse().getWriter(); responseWriter.write(GSON.toJson(verificationItems)); asyncContext.complete(); } catch (Exception e) { log.error("Failed to send back the response", e); } } }