Refine search
@Override public void transferCorrupted( TransferEvent event ) throws TransferCancelledException { TransferResource resource = event.getResource(); out.warn( event.getException().getMessage() + " from " + resource.getRepositoryId() + " for " + resource.getRepositoryUrl() + resource.getResourceName() ); }
@Override public void transferSucceeded( TransferEvent event ) { String action = ( event.getRequestType() == TransferEvent.RequestType.PUT ? "Uploaded" : "Downloaded" ); String direction = event.getRequestType() == TransferEvent.RequestType.PUT ? "to" : "from"; TransferResource resource = event.getResource(); long contentLength = event.getTransferredBytes(); FileSizeFormat format = new FileSizeFormat( Locale.ENGLISH ); StringBuilder message = new StringBuilder(); message.append( action ).append( ' ' ).append( direction ).append( ' ' ).append( resource.getRepositoryId() ); message.append( ": " ); message.append( resource.getRepositoryUrl() ).append( resource.getResourceName() ); message.append( " (" ).append( format.format( contentLength ) ); long duration = System.currentTimeMillis() - resource.getTransferStartTime(); if ( duration > 0L ) { double bytesPerSecond = contentLength / ( duration / 1000.0 ); message.append( " at " ).append( format.format( (long) bytesPerSecond ) ).append( "/s" ); } message.append( ')' ); out.println( message.toString() ); }
@Override public synchronized void transferProgressed( TransferEvent event ) throws TransferCancelledException { TransferResource resource = event.getResource(); transfers.put( resource, event.getTransferredBytes() ); StringBuilder buffer = new StringBuilder( 128 ); buffer.append( "Progress (" ).append( transfers.size() ).append( "): " ); synchronized ( transfers ) { Iterator<Map.Entry<TransferResource, Long>> entries = transfers.entrySet().iterator(); while ( entries.hasNext() ) { Map.Entry<TransferResource, Long> entry = entries.next(); long total = entry.getKey().getContentLength(); Long complete = entry.getValue(); buffer.append( getStatus( entry.getKey().getResourceName(), complete, total ) ); if ( entries.hasNext() ) { buffer.append( " | " ); } } } int pad = lastLength - buffer.length(); lastLength = buffer.length(); pad( buffer, pad ); buffer.append( '\r' ); out.print( buffer ); out.flush(); }
@Override public void transferProgressed(TransferEvent event) { TransferResource resource = event.getResource(); downloads.put(resource, Long.valueOf(event.getTransferredBytes())); StringBuilder buffer = new StringBuilder(64); for (Map.Entry<TransferResource, Long> entry : downloads.entrySet()) { long total = entry.getKey().getContentLength(); long complete = entry.getValue().longValue(); buffer.append(getStatus(complete, total)).append(" "); } int pad = lastLength - buffer.length(); lastLength = buffer.length(); pad(buffer, pad); buffer.append('\r'); out.print(buffer); }
public void transferCorrupted(TransferEvent event) { LOGGER.log(Level.WARNING, "Transfer corrupted", event.getException()); System.err.println("Transfer of " + event.getResource().getResourceName() + " was corrupted, failing."); }
private static void checkProperties(TransferEvent event) { assertNotNull("resource is null for type: " + event.getType(), event.getResource()); assertNotNull("request type is null for type: " + event.getType(), event.getRequestType()); assertNotNull("type is null for type: " + event.getType(), event.getType()); if (PROGRESSED.equals(event.getType())) { assertNotNull("data buffer is null for type: " + event.getType(), event.getDataBuffer()); assertTrue("transferred byte is not set/not positive for type: " + event.getType(), event.getTransferredBytes() > -1); } else if (SUCCEEDED.equals(event.getType())) { assertTrue("transferred byte is not set/not positive for type: " + event.getType(), event.getTransferredBytes() > -1); } }
public void transferCorrupted(TransferEvent event) { event.getException().printStackTrace(out); }
private String getTransferSpeed(TransferEvent event) { long kb = event.getTransferredBytes() / 1024; float seconds = (System.currentTimeMillis() - event.getResource().getTransferStartTime()) / 1000.0f; return String.format("%dKB at %.1fKB/sec", kb, (kb / seconds)); }
String msg = "initiate event is missing"; assertNotNull(msg, currentEvent); assertEquals(msg, INITIATED, currentEvent.getType()); checkProperties(currentEvent); TransferResource expectedResource = currentEvent.getResource(); assertEquals(msg, TransferEvent.EventType.STARTED, currentEvent.getType()); assertEquals("bad content length", expectedBytes, currentEvent.getResource().getContentLength()); checkProperties(currentEvent); assertResourceEquals(expectedResource, currentEvent.getResource()); long transferredBytes = 0; while ((currentEvent = events.poll()) != null) { EventType currentType = currentEvent.getType(); assertResourceEquals(expectedResource, currentEvent.getResource()); } else { assertTrue("event is not 'succeeded' and not 'progressed'", progressed.equals(currentType)); assertTrue("wrong order of progressed events, transferredSize got smaller, last = " + transferredBytes + ", current = " + currentEvent.getTransferredBytes(), currentEvent.getTransferredBytes() >= transferredBytes); assertEquals("bad content length", expectedBytes, currentEvent.getResource().getContentLength()); transferredBytes = currentEvent.getTransferredBytes(); dataLength += currentEvent.getDataBuffer().remaining(); checkProperties(currentEvent); assertEquals("succeed event transferred bytes don't match", expectedBytes, succeedEvent.getTransferredBytes());
@Override public String toString() { return getRequestType() + " " + getType() + " " + getResource(); }
@Override public void transferProgressed(TransferEvent transferEvent) throws TransferCancelledException { updateValue(transferEvent.getResource(), transferEvent.getTransferredBytes()); }
@Override public synchronized void transferSucceeded( TransferEvent event ) { transfers.remove( event.getResource() ); overridePreviousTransfer( event ); super.transferSucceeded( event ); }
private static void checkEvents(Queue<TransferEvent> events, long expectedBytes) { TransferEvent currentEvent; while ((currentEvent = events.poll()) != null) { EventType currentType = currentEvent.getType(); if (TransferEvent.EventType.SUCCEEDED.equals(currentType)) { assertEquals("Should only have received " + expectedBytes + " bytes", expectedBytes, currentEvent.getTransferredBytes()); } } }
private static void checkFailedEvents(Queue<TransferEvent> events, Class<? extends Throwable> expectedError) { if (expectedError == null) { expectedError = Throwable.class; } TransferEvent currentEvent = events.poll(); String msg = "initiate event is missing"; assertNotNull(msg, currentEvent); assertEquals(msg, INITIATED, currentEvent.getType()); checkProperties(currentEvent); currentEvent = events.poll(); msg = "fail event is missing"; assertNotNull(msg, currentEvent); assertEquals(msg, TransferEvent.EventType.FAILED, currentEvent.getType()); checkProperties(currentEvent); assertNotNull("exception is missing for fail event", currentEvent.getException()); Exception exception = currentEvent.getException(); assertTrue("exception is of wrong type, should be instance of " + expectedError + " but was " + exception.getClass(), expectedError.isAssignableFrom(exception.getClass())); // all events consumed assertEquals("too many events left: " + events.toString(), 0, events.size()); }
@Test public void testDownloadCorrupted() throws Exception { RecordingTransferListener transferListener = new RecordingTransferListener(); session.setTransferListener(transferListener); addDelivery("gid/aid/version/aid-version-classifier.extension", "artifact"); addDelivery("gid/aid/version/aid-version-classifier.extension.sha1", "foo"); addDelivery("gid/aid/version/aid-version-classifier.extension.md5", "bar"); File f = TestFileUtils.createTempFile(""); Artifact a = artifact("bla"); ArtifactDownload down = new ArtifactDownload(a, null, f, RepositoryPolicy.CHECKSUM_POLICY_WARN); Collection<? extends ArtifactDownload> downs = Arrays.asList(down); connector().get(downs, null); TransferEvent corruptedEvent = null; for (TransferEvent e : transferListener.getEvents()) { if (TransferEvent.EventType.CORRUPTED.equals(e.getType())) { corruptedEvent = e; break; } } assertNotNull(corruptedEvent); }
@Override public void transferProgressed(TransferEvent event) { TransferResource resource = event.getResource(); downloads.put(resource, Long.valueOf(event.getTransferredBytes())); StringBuilder buffer = new StringBuilder(64); for (Map.Entry<TransferResource, Long> entry : downloads.entrySet()) { long total = entry.getKey().getContentLength(); long complete = entry.getValue().longValue(); buffer.append(getStatus(complete, total)).append(" "); } int pad = lastLength - buffer.length(); lastLength = buffer.length(); pad(buffer, pad); buffer.append('\r'); logger.debug("Transfer progress: " + buffer.toString()); }
@Override public void transferStarted(TransferEvent transferEvent) throws TransferCancelledException { completedAmounts.put(transferEvent.getResource().getResourceName(), 0L); total += transferEvent.getResource().getContentLength(); updateValue(transferEvent.getResource(), transferEvent.getTransferredBytes()); }
@Override public void transferFailed(TransferEvent event) { transferCompleted(event); if (!(event.getException() instanceof MetadataNotFoundException)) { event.getException().printStackTrace(out); } }
@Override public String toString() { return getRequestType() + " " + getType() + " " + getResource(); }
@Override public synchronized void transferFailed( TransferEvent event ) { transfers.remove( event.getResource() ); overridePreviousTransfer( event ); super.transferFailed( event ); }