Java 类org.apache.http.util.Asserts 实例源码
项目:ZTLib
文件:AbstractConnPool.java
/**
* {@inheritDoc}
* <p/>
* Please note that this class does not maintain its own pool of execution
* {@link Thread}s. Therefore, one <b>must</b> call {@link Future#get()}
* or {@link Future#get(long, TimeUnit)} method on the {@link Future}
* returned by this method in order for the lease operation to complete.
*/
public Future<E> lease(final T route, final Object state, final FutureCallback<E> callback) {
Args.notNull(route, "Route");
Asserts.check(!this.isShutDown, "Connection pool shut down");
return new PoolEntryFuture<E>(this.lock, callback) {
@Override
public E getPoolEntry(
final long timeout,
final TimeUnit tunit)
throws InterruptedException, TimeoutException, IOException {
final E entry = getPoolEntryBlocking(route, state, timeout, tunit, this);
onLease(entry);
return entry;
}
};
}
项目:groupsio-api-java
文件:GroupsIOApiClient.java
/**
* More in-depth constructor to override the defaults.
*
* @param hostname
* - the base hostname (e.g. api.groups.io) to use
* @param version
* - the API version (e.g. v1) to use
* @param apiKey
* - TODO: Update with details once published.
* @param email
* - the email of the user to log in as
* @param domain
* - the domain name to connect with
* @param twoFactor
* - the appropriate two-factor code to use
*/
public GroupsIOApiClient(
final String hostname,
final String version,
final String apiKey,
final String email,
final String domain,
final Integer twoFactor)
{
Asserts.notBlank(apiKey, "apiKey");
Asserts.notBlank(email, "email");
this.hostname = hostname;
this.version = version;
this.apiKey = apiKey;
this.email = email;
this.domain = domain;
this.twoFactor = twoFactor;
}
项目:remote-files-sync
文件:AbstractConnPool.java
/**
* {@inheritDoc}
* <p/>
* Please note that this class does not maintain its own pool of execution
* {@link Thread}s. Therefore, one <b>must</b> call {@link Future#get()}
* or {@link Future#get(long, TimeUnit)} method on the {@link Future}
* returned by this method in order for the lease operation to complete.
*/
public Future<E> lease(final T route, final Object state, final FutureCallback<E> callback) {
Args.notNull(route, "Route");
Asserts.check(!this.isShutDown, "Connection pool shut down");
return new PoolEntryFuture<E>(this.lock, callback) {
@Override
public E getPoolEntry(
final long timeout,
final TimeUnit tunit)
throws InterruptedException, TimeoutException, IOException {
final E entry = getPoolEntryBlocking(route, state, timeout, tunit, this);
onLease(entry);
return entry;
}
};
}
项目:remote-files-sync
文件:BasicHttpClientConnectionManager.java
synchronized HttpClientConnection getConnection(final HttpRoute route, final Object state) {
Asserts.check(!this.isShutdown.get(), "Connection manager has been shut down");
if (Log.isLoggable(TAG, Log.DEBUG)) {
Log.d(TAG, "Get connection for route " + route);
}
Asserts.check(!this.leased, "Connection is still allocated");
if (!LangUtils.equals(this.route, route) || !LangUtils.equals(this.state, state)) {
closeConnection();
}
this.route = route;
this.state = state;
checkExpiry();
if (this.conn == null) {
this.conn = this.connFactory.create(route, this.connConfig);
}
this.leased = true;
return this.conn;
}
项目:remote-files-sync
文件:BasicHttpClientConnectionManager.java
public void connect(
final HttpClientConnection conn,
final HttpRoute route,
final int connectTimeout,
final HttpContext context) throws IOException {
Args.notNull(conn, "Connection");
Args.notNull(route, "HTTP route");
Asserts.check(conn == this.conn, "Connection not obtained from this manager");
final HttpHost host;
if (route.getProxyHost() != null) {
host = route.getProxyHost();
} else {
host = route.getTargetHost();
}
final InetSocketAddress localAddress = route.getLocalAddress() != null ? new InetSocketAddress(route.getLocalAddress(), 0) : null;;
this.connectionOperator.connect(this.conn, host, localAddress,
connectTimeout, this.socketConfig, context);
}
项目:remote-files-sync
文件:PoolingHttpClientConnectionManager.java
protected HttpClientConnection leaseConnection(
final Future<CPoolEntry> future,
final long timeout,
final TimeUnit tunit) throws InterruptedException, ExecutionException, ConnectionPoolTimeoutException {
final CPoolEntry entry;
try {
entry = future.get(timeout, tunit);
if (entry == null || future.isCancelled()) {
throw new InterruptedException();
}
Asserts.check(entry.getConnection() != null, "Pool entry with no connection");
if (Log.isLoggable(TAG, Log.DEBUG)) {
Log.d(TAG, "Connection leased: " + format(entry) + formatStats(entry.getRoute()));
}
return CPoolProxy.newProxy(entry);
} catch (final TimeoutException ex) {
throw new ConnectionPoolTimeoutException("Timeout waiting for connection from pool");
}
}
项目:remote-files-sync
文件:SyncMain.java
public static void main(String argvs[]) throws TTransportException, IOException {
Asserts.check(argvs != null && argvs.length == 2, "require params type and config path");
String type = argvs[0];
String config = argvs[1];
try {
if ("server".equals(type)) {
ServerForSync.main(new String[] { config });
} else if ("client".equals(type)) {
ClientForSync.main(new String[] { config });
} else if ("client_sync".equals(type)) {
ClientForSync.sync(config);
} else if ("client_validate".equals(type)) {
ClientForSync.validate(config);
} else {
throw new RuntimeException("unknow type " + type);
}
} finally {
ThriftClientPool.closeAll();
}
}
项目:remote-files-sync
文件:ClientFolder.java
public void sync(StopAble stop) throws IOException {
String store_path = new File(new File(store_folder), store_name).getCanonicalPath();
if (null == fromManage) {
fromManage = RemoteFileFactory.queryManage(url);
}
logger.stdout(String.format("sync[%s] %s => %s", name, url, store_path));
File root = new File(store_path);
if (!root.exists()) {
root.mkdir();
}
Asserts.check(root.isDirectory(), "must be a directory :" + store_path);
long time = System.currentTimeMillis();
try {
if (stop.isStop()) {
return;
}
doSync(stop, null, root);
} finally {
long end = System.currentTimeMillis();
logger.stdout(String.format("sync finish[%s](cost: %s) %s => %s", name, (end - time) / 1000 + "s", url,
store_path));
}
}
项目:purecloud-iot
文件:DefaultClientConnectionOperator.java
@Override
public void updateSecureConnection(
final OperatedClientConnection conn,
final HttpHost target,
final HttpContext context,
final HttpParams params) throws IOException {
Args.notNull(conn, "Connection");
Args.notNull(target, "Target host");
Args.notNull(params, "Parameters");
Asserts.check(conn.isOpen(), "Connection must be open");
final SchemeRegistry registry = getSchemeRegistry(context);
final Scheme schm = registry.getScheme(target.getSchemeName());
Asserts.check(schm.getSchemeSocketFactory() instanceof SchemeLayeredSocketFactory,
"Socket factory must implement SchemeLayeredSocketFactory");
final SchemeLayeredSocketFactory lsf = (SchemeLayeredSocketFactory) schm.getSchemeSocketFactory();
final Socket sock = lsf.createLayeredSocket(
conn.getSocket(), target.getHostName(), schm.resolvePort(target.getPort()), params);
prepareSocket(sock, context, params);
conn.update(sock, target, lsf.isSecure(sock), params);
}
项目:purecloud-iot
文件:BasicClientConnectionManager.java
ManagedClientConnection getConnection(final HttpRoute route, final Object state) {
Args.notNull(route, "Route");
synchronized (this) {
assertNotShutdown();
if (this.log.isDebugEnabled()) {
this.log.debug("Get connection for route " + route);
}
Asserts.check(this.conn == null, MISUSE_MESSAGE);
if (this.poolEntry != null && !this.poolEntry.getPlannedRoute().equals(route)) {
this.poolEntry.close();
this.poolEntry = null;
}
if (this.poolEntry == null) {
final String id = Long.toString(COUNTER.getAndIncrement());
final OperatedClientConnection opconn = this.connOperator.createConnection();
this.poolEntry = new HttpPoolEntry(this.log, id, route, opconn, 0, TimeUnit.MILLISECONDS);
}
final long now = System.currentTimeMillis();
if (this.poolEntry.isExpired(now)) {
this.poolEntry.close();
this.poolEntry.getTracker().reset();
}
this.conn = new ManagedClientConnectionImpl(this, this.connOperator, this.poolEntry);
return this.conn;
}
}
项目:purecloud-iot
文件:AbstractPoolEntry.java
/**
* Layers a protocol on top of an established tunnel.
*
* @param context the context for layering
* @param params the parameters for layering
*
* @throws IOException in case of a problem
*/
public void layerProtocol(final HttpContext context, final HttpParams params)
throws IOException {
//@@@ is context allowed to be null? depends on operator?
Args.notNull(params, "HTTP parameters");
Asserts.notNull(this.tracker, "Route tracker");
Asserts.check(this.tracker.isConnected(), "Connection not open");
Asserts.check(this.tracker.isTunnelled(), "Protocol layering without a tunnel not supported");
Asserts.check(!this.tracker.isLayered(), "Multiple protocol layering not supported");
// - collect the arguments
// - call the operator
// - update the tracking data
// In this order, we can be sure that only a successful
// layering on top of the connection will be tracked.
final HttpHost target = tracker.getTargetHost();
connOperator.updateSecureConnection(this.connection, target,
context, params);
this.tracker.layerProtocol(this.connection.isSecure());
}
项目:purecloud-iot
文件:BasicHttpClientConnectionManager.java
synchronized HttpClientConnection getConnection(final HttpRoute route, final Object state) {
Asserts.check(!this.isShutdown.get(), "Connection manager has been shut down");
if (this.log.isDebugEnabled()) {
this.log.debug("Get connection for route " + route);
}
Asserts.check(!this.leased, "Connection is still allocated");
if (!LangUtils.equals(this.route, route) || !LangUtils.equals(this.state, state)) {
closeConnection();
}
this.route = route;
this.state = state;
checkExpiry();
if (this.conn == null) {
this.conn = this.connFactory.create(route, this.connConfig);
}
this.leased = true;
return this.conn;
}
项目:purecloud-iot
文件:BasicHttpClientConnectionManager.java
@Override
public void connect(
final HttpClientConnection conn,
final HttpRoute route,
final int connectTimeout,
final HttpContext context) throws IOException {
Args.notNull(conn, "Connection");
Args.notNull(route, "HTTP route");
Asserts.check(conn == this.conn, "Connection not obtained from this manager");
final HttpHost host;
if (route.getProxyHost() != null) {
host = route.getProxyHost();
} else {
host = route.getTargetHost();
}
final InetSocketAddress localAddress = route.getLocalSocketAddress();
this.connectionOperator.connect(this.conn, host, localAddress,
connectTimeout, this.socketConfig, context);
}
项目:purecloud-iot
文件:PoolingHttpClientConnectionManager.java
protected HttpClientConnection leaseConnection(
final Future<CPoolEntry> future,
final long timeout,
final TimeUnit tunit) throws InterruptedException, ExecutionException, ConnectionPoolTimeoutException {
final CPoolEntry entry;
try {
entry = future.get(timeout, tunit);
if (entry == null || future.isCancelled()) {
throw new InterruptedException();
}
Asserts.check(entry.getConnection() != null, "Pool entry with no connection");
if (this.log.isDebugEnabled()) {
this.log.debug("Connection leased: " + format(entry) + formatStats(entry.getRoute()));
}
return CPoolProxy.newProxy(entry);
} catch (final TimeoutException ex) {
throw new ConnectionPoolTimeoutException("Timeout waiting for connection from pool");
}
}
项目:Visit
文件:AbstractConnPool.java
/**
* {@inheritDoc}
* <p/>
* Please note that this class does not maintain its own pool of execution
* {@link Thread}s. Therefore, one <b>must</b> call {@link Future#get()}
* or {@link Future#get(long, TimeUnit)} method on the {@link Future}
* returned by this method in order for the lease operation to complete.
*/
public Future<E> lease(final T route, final Object state, final FutureCallback<E> callback) {
Args.notNull(route, "Route");
Asserts.check(!this.isShutDown, "Connection pool shut down");
return new PoolEntryFuture<E>(this.lock, callback) {
@Override
public E getPoolEntry(
final long timeout,
final TimeUnit tunit)
throws InterruptedException, TimeoutException, IOException {
final E entry = getPoolEntryBlocking(route, state, timeout, tunit, this);
onLease(entry);
return entry;
}
};
}
项目:Visit
文件:BasicHttpClientConnectionManager.java
synchronized HttpClientConnection getConnection(final HttpRoute route, final Object state) {
Asserts.check(!this.isShutdown.get(), "Connection manager has been shut down");
if (Log.isLoggable(TAG, Log.DEBUG)) {
Log.d(TAG, "Get connection for route " + route);
}
Asserts.check(!this.leased, "Connection is still allocated");
if (!LangUtils.equals(this.route, route) || !LangUtils.equals(this.state, state)) {
closeConnection();
}
this.route = route;
this.state = state;
checkExpiry();
if (this.conn == null) {
this.conn = this.connFactory.create(route, this.connConfig);
}
this.leased = true;
return this.conn;
}
项目:Visit
文件:BasicHttpClientConnectionManager.java
public void connect(
final HttpClientConnection conn,
final HttpRoute route,
final int connectTimeout,
final HttpContext context) throws IOException {
Args.notNull(conn, "Connection");
Args.notNull(route, "HTTP route");
Asserts.check(conn == this.conn, "Connection not obtained from this manager");
final HttpHost host;
if (route.getProxyHost() != null) {
host = route.getProxyHost();
} else {
host = route.getTargetHost();
}
final InetSocketAddress localAddress = route.getLocalAddress() != null ? new InetSocketAddress(route.getLocalAddress(), 0) : null;;
this.connectionOperator.connect(this.conn, host, localAddress,
connectTimeout, this.socketConfig, context);
}
项目:Visit
文件:PoolingHttpClientConnectionManager.java
protected HttpClientConnection leaseConnection(
final Future<CPoolEntry> future,
final long timeout,
final TimeUnit tunit) throws InterruptedException, ExecutionException, ConnectionPoolTimeoutException {
final CPoolEntry entry;
try {
entry = future.get(timeout, tunit);
if (entry == null || future.isCancelled()) {
throw new InterruptedException();
}
Asserts.check(entry.getConnection() != null, "Pool entry with no connection");
if (Log.isLoggable(TAG, Log.DEBUG)) {
Log.d(TAG, "Connection leased: " + format(entry) + formatStats(entry.getRoute()));
}
return CPoolProxy.newProxy(entry);
} catch (final TimeoutException ex) {
throw new ConnectionPoolTimeoutException("Timeout waiting for connection from pool");
}
}
项目:parallec
文件:TargetHostsBuilderTest.java
@Test
public void setTargetHostsFromJsonPathTest() {
String jsonPath = "$.sample.small-target-hosts[*].hostName";
List<String> targetHosts = thb.setTargetHostsFromJsonPath(jsonPath,
URL_JSON_PATH, SOURCE_URL);
logger.info("Get list " + targetHosts.size() + " from json path "
+ jsonPath + " from file " + URL_JSON_PATH);
Asserts.check(targetHosts.size() > 0,
"fail setTargetHostsFromJsonPathTest");
// try bad
try {
thb.setTargetHostsFromJsonPath(jsonPath,
FILEPATH_JSON_PATH + "bad", SOURCE_LOCAL);
} catch (TargetHostsLoadException e) {
logger.info("expected error. Get bad list " + " from json path "
+ jsonPath + " from file " + URL_JSON_PATH);
}
}
项目:jenkins-notify-plugin
文件:NotifyRecorder.java
private String buildNotifyJson( @Nonnull final AbstractBuild build,
@Nonnull final Map<String,?> env )
{
Map<String,?> binding = new HashMap<String, Object>(){{
put( "jenkins", notNull( Jenkins.getInstance(), "Jenkins instance" ));
put( "build", notNull( build, "Build instance" ));
put( "env", notNull( env, "Build environment" ));
}};
String json = null;
String template = "<%\n\n" + JSON_FUNCTION + "\n\n%>\n\n" +
notBlank( notifyTemplate, "Notify template" );
try
{
json = notBlank( new SimpleTemplateEngine( getClass().getClassLoader()).
createTemplate( template ).
make( binding ).toString(), "Payload JSON" ).trim();
Asserts.check(( json.startsWith( "{" ) && json.endsWith( "}" )) ||
( json.startsWith( "[" ) && json.endsWith( "]" )),
"Illegal JSON content: should start and end with {} or []" );
Asserts.notNull( new JsonSlurper().parseText( json ), "Parsed JSON" );
}
catch ( Exception e )
{
throwError(( json == null ?
String.format( "Failed to parse Groovy template:%s%s%s",
LINE, template, LINE ) :
String.format( "Failed to validate JSON payload (check with http://jsonlint.com/):%s%s%s",
LINE, json, LINE )), e );
}
return json;
}
项目:jenkins-notify-plugin
文件:NotifyRecorder.java
private void sendNotifyRequest( @Nonnull String url, @Nonnull String json )
throws IOException
{
try
{
HttpPost request = new HttpPost( notBlank( url, "Notify URL" ));
request.setEntity( new StringEntity( notBlank( json, "Notify JSON" ),
ContentType.create( "application/json", Consts.UTF_8 )));
HttpResponse response = HTTP_CLIENT.execute( request );
int statusCode = response.getStatusLine().getStatusCode();
Asserts.check( statusCode == 200, String.format( "status code is %s, expected 200", statusCode ));
EntityUtils.consumeQuietly( notNull( response.getEntity(), "Response entity" ));
request.releaseConnection();
}
catch ( Exception e )
{
throwError( String.format( "Failed to publish notify request to '%s', payload JSON was:%s%s%s",
notifyUrl, LINE, json, LINE ), e );
}
}
项目:ZTLib
文件:BasicHttpClientConnectionManager.java
synchronized HttpClientConnection getConnection(final HttpRoute route, final Object state) {
Asserts.check(!this.isShutdown.get(), "Connection manager has been shut down");
if (Log.isLoggable(TAG, Log.DEBUG)) {
Log.d(TAG, "Get connection for route " + route);
}
Asserts.check(!this.leased, "Connection is still allocated");
if (!LangUtils.equals(this.route, route) || !LangUtils.equals(this.state, state)) {
closeConnection();
}
this.route = route;
this.state = state;
checkExpiry();
if (this.conn == null) {
this.conn = this.connFactory.create(route, this.connConfig);
}
this.leased = true;
return this.conn;
}
项目:ZTLib
文件:BasicHttpClientConnectionManager.java
public void connect(
final HttpClientConnection conn,
final HttpRoute route,
final int connectTimeout,
final HttpContext context) throws IOException {
Args.notNull(conn, "Connection");
Args.notNull(route, "HTTP route");
Asserts.check(conn == this.conn, "Connection not obtained from this manager");
final HttpHost host;
if (route.getProxyHost() != null) {
host = route.getProxyHost();
} else {
host = route.getTargetHost();
}
final InetSocketAddress localAddress = route.getLocalAddress() != null ? new InetSocketAddress(route.getLocalAddress(), 0) : null;;
this.connectionOperator.connect(this.conn, host, localAddress,
connectTimeout, this.socketConfig, context);
}
项目:ZTLib
文件:PoolingHttpClientConnectionManager.java
protected HttpClientConnection leaseConnection(
final Future<CPoolEntry> future,
final long timeout,
final TimeUnit tunit) throws InterruptedException, ExecutionException, ConnectionPoolTimeoutException {
final CPoolEntry entry;
try {
entry = future.get(timeout, tunit);
if (entry == null || future.isCancelled()) {
throw new InterruptedException();
}
Asserts.check(entry.getConnection() != null, "Pool entry with no connection");
if (Log.isLoggable(TAG, Log.DEBUG)) {
Log.d(TAG, "Connection leased: " + format(entry) + formatStats(entry.getRoute()));
}
return CPoolProxy.newProxy(entry);
} catch (final TimeoutException ex) {
throw new ConnectionPoolTimeoutException("Timeout waiting for connection from pool");
}
}
项目:vind
文件:SolrSearchServer.java
@Override
public void index(Document ... docs) {
Asserts.notNull(docs,"Document to index should not be null.");
Asserts.check(docs.length > 0, "Should be at least one document to index.");
for(Document doc: docs) {
indexSingleDocument(doc);
}
}
项目:vind
文件:SolrSearchServer.java
@Override
public void index(List<Document> docs) {
Asserts.notNull(docs,"Document to index should not be null.");
Asserts.check(docs.size() > 0, "Should be at least one document to index.");
indexMultipleDocuments(docs);
}
项目:remote-files-sync
文件:RouteSpecificPool.java
public void free(final E entry, final boolean reusable) {
Args.notNull(entry, "Pool entry");
final boolean found = this.leased.remove(entry);
Asserts.check(found, "Entry %s has not been leased from this pool", entry);
if (reusable) {
this.available.addFirst(entry);
}
}
项目:remote-files-sync
文件:DefaultRedirectStrategy.java
public URI getLocationURI(
final HttpRequest request,
final HttpResponse response,
final HttpContext context) throws ProtocolException {
Args.notNull(request, "HTTP request");
Args.notNull(response, "HTTP response");
Args.notNull(context, "HTTP context");
final HttpClientContext clientContext = HttpClientContext.adapt(context);
//get the location header to find out where to redirect to
final Header locationHeader = response.getFirstHeader("location");
if (locationHeader == null) {
// got a redirect response, but no location header
throw new ProtocolException(
"Received redirect response " + response.getStatusLine()
+ " but no location header");
}
final String location = locationHeader.getValue();
if (Log.isLoggable(TAG, Log.DEBUG)) {
Log.d(TAG, "Redirect requested to location '" + location + "'");
}
final RequestConfig config = clientContext.getRequestConfig();
URI uri = createLocationURI(location);
// rfc2616 demands the location value be a complete URI
// Location = "Location" ":" absoluteURI
try {
if (!uri.isAbsolute()) {
if (!config.isRelativeRedirectsAllowed()) {
throw new ProtocolException("Relative redirect location '"
+ uri + "' not allowed");
}
// Adjust location URI
final HttpHost target = clientContext.getTargetHost();
Asserts.notNull(target, "Target host");
final URI requestURI = new URI(request.getRequestLine().getUri());
final URI absoluteRequestURI = URIUtilsHC4.rewriteURI(requestURI, target, false);
uri = URIUtilsHC4.resolve(absoluteRequestURI, uri);
}
} catch (final URISyntaxException ex) {
throw new ProtocolException(ex.getMessage(), ex);
}
RedirectLocationsHC4 redirectLocations = (RedirectLocationsHC4) clientContext.getAttribute(
HttpClientContext.REDIRECT_LOCATIONS);
if (redirectLocations == null) {
redirectLocations = new RedirectLocationsHC4();
context.setAttribute(HttpClientContext.REDIRECT_LOCATIONS, redirectLocations);
}
if (!config.isCircularRedirectsAllowed()) {
if (redirectLocations.contains(uri)) {
throw new CircularRedirectException("Circular redirect to '" + uri + "'");
}
}
redirectLocations.add(uri);
return uri;
}
项目:remote-files-sync
文件:BHttpConnectionBase.java
protected void ensureOpen() throws IOException {
Asserts.check(this.open, "Connection is not open");
if (!this.inbuffer.isBound()) {
this.inbuffer.bind(getSocketInputStream(this.socket));
}
if (!this.outbuffer.isBound()) {
this.outbuffer.bind(getSocketOutputStream(this.socket));
}
}
项目:remote-files-sync
文件:BasicHttpClientConnectionManager.java
public synchronized void releaseConnection(
final HttpClientConnection conn,
final Object state,
final long keepalive, final TimeUnit tunit) {
Args.notNull(conn, "Connection");
Asserts.check(conn == this.conn, "Connection not obtained from this manager");
if (Log.isLoggable(TAG, Log.DEBUG)) {
Log.d(TAG, "Releasing connection " + conn);
}
if (this.isShutdown.get()) {
return;
}
try {
this.updated = System.currentTimeMillis();
if (!this.conn.isOpen()) {
this.conn = null;
this.route = null;
this.conn = null;
this.expiry = Long.MAX_VALUE;
} else {
this.state = state;
if (Log.isLoggable(TAG, Log.DEBUG)) {
final String s;
if (keepalive > 0) {
s = "for " + keepalive + " " + tunit;
} else {
s = "indefinitely";
}
Log.d(TAG, "Connection can be kept alive " + s);
}
if (keepalive > 0) {
this.expiry = this.updated + tunit.toMillis(keepalive);
} else {
this.expiry = Long.MAX_VALUE;
}
}
} finally {
this.leased = false;
}
}
项目:remote-files-sync
文件:BasicHttpClientConnectionManager.java
public void upgrade(
final HttpClientConnection conn,
final HttpRoute route,
final HttpContext context) throws IOException {
Args.notNull(conn, "Connection");
Args.notNull(route, "HTTP route");
Asserts.check(conn == this.conn, "Connection not obtained from this manager");
this.connectionOperator.upgrade(this.conn, route.getTargetHost(), context);
}
项目:remote-files-sync
文件:FileCopyByCache.java
public FileCopyByCache(ClientFolder client_folder,int block_size) {
this.client_folder = client_folder;
this.block_size = block_size;
this.cache = new File(client_folder.getWorkspace(), CLIENT_CACHE_FOLDER_NAME);
this.cache = new File(this.cache, "_" + block_size);
if (!this.cache.isDirectory()) {
Asserts.check(this.cache.mkdirs(),
"can not create cache folder for client on :" + this.cache.getAbsolutePath());
}
}
项目:remote-files-sync
文件:FileCopyBySimple.java
@Override
public void copy(StopAble stop, RemoteFile from, File target, String md5) throws IOException {
Asserts.check(!target.exists(), "file already exist:" + target.getAbsolutePath());
target.createNewFile();
int totalParts = RemoteFileUtil.countPart(from.length(), this.block_size);
FileOutputStream out = new FileOutputStream(target);
try {
for (int i = 0; i < totalParts; i++) {
byte[] part_data = client_folder.getFromManage().part(from.path(), i, block_size);
out.write(part_data);
logger.debug(String.format("[%s] [%s] [%d/%d] receive part data %d K", this.client_folder.getName(),
from.path(), i + 1, totalParts, part_data.length / 1024));
part_data = null;
if (stop.isStop()) {
return;
}
}
} finally {
out.close();
out = null;
}
String target_md5 = MD5.md5(target);
if (!md5.equals(target_md5)) {
logger.stdout("clear dirty file : " + target.getAbsolutePath());
Asserts.check(target.delete(), "can not clear dirty file:" + target.getAbsolutePath());
throw new RuntimeException(
"can not fetch correct data from remote for:" + from.path() + ":" + target_md5 + ":" + md5);
}
}
项目:remote-files-sync
文件:ClientForSync.java
public ClientForSync(String propPath) throws IOException {
Properties p = PropertiesUtils.load(propPath);
RemoteSyncConfig.init(p);
store = p.getProperty("client.store");
Asserts.notBlank(store, "can not found config for client.store");
Asserts.check(new File(store).isDirectory(), "not exist store folder:" + store);
workspace = p.getProperty("client.workspace", store);
Asserts.check(new File(workspace).isDirectory(), "not exist workspace folder:" + workspace);
interval = Long.parseLong(p.getProperty("client.sync.interval", "10000"));
Asserts.check(interval >= 0, "client.sync.interval must great then 0");
// 524288 = 1024 * 512
block_size = Integer.parseInt(p.getProperty("client.block.size", "524288"));
RemoteSyncConfig.checkBockSize(block_size);
folders = new ArrayList<ClientFolder>();
for (Object item : p.keySet().toArray()) {
if (item.toString().startsWith(PORP_KEY_PREFIX)) {
folders.add(new ClientFolder(item.toString().substring(PORP_KEY_PREFIX.length()), store, this.workspace,
(String) p.get(item), block_size));
}
}
Asserts.check(folders.size() != 0, "can not find any client folders");
runner = new ClientSyncRunner(this);
}
项目:remote-files-sync
文件:FileInfoRecorder.java
private File getStoreFile(String key) {
File folder = new File(root, key.substring(0, 2));
if (!folder.exists()) {
Asserts.check(folder.mkdir(), "can not create folder:" + folder.getAbsolutePath());
}
return new File(folder, key);
}
项目:remote-files-sync
文件:RemoteFileFactory.java
private static RemoteFileManage createByFrom(String url) throws TTransportException {
String[] url_subs_folder = url.split("/");
String[] url_subs_ip = url_subs_folder[0].split(":");
Asserts.check(url_subs_folder.length == 2, "Error url(can not find part folder):" + url);
Asserts.check(url_subs_ip.length == 3, "Error url(can not find part ip and port):" + url);
Asserts.check(url_subs_ip[0].equals("from"), "Error url(unknown type):" + url);
String ip = url_subs_ip[1];
int port = Integer.parseInt(url_subs_ip[2]);
String folder = url_subs_folder[1];
return new RemoteFileManageThriftImpl(ip, port, folder, truststore);
}
项目:remote-files-sync
文件:RemoteFileUtil.java
public static String formatPath(String path) {
Asserts.notBlank(path, "can as blank path :" + path);
path = path.replace("\\", "/");
if (path.startsWith("/")) {
path = path.substring(1);
}
return path;
}
项目:purecloud-iot
文件:RequestAuthenticationBase.java
private Header authenticate(
final AuthScheme authScheme,
final Credentials creds,
final HttpRequest request,
final HttpContext context) throws AuthenticationException {
Asserts.notNull(authScheme, "Auth scheme");
if (authScheme instanceof ContextAwareAuthScheme) {
return ((ContextAwareAuthScheme) authScheme).authenticate(creds, request, context);
} else {
return authScheme.authenticate(creds, request);
}
}
项目:purecloud-iot
文件:ProxySelectorRoutePlanner.java
@Override
public HttpRoute determineRoute(final HttpHost target,
final HttpRequest request,
final HttpContext context)
throws HttpException {
Args.notNull(request, "HTTP request");
// If we have a forced route, we can do without a target.
HttpRoute route =
ConnRouteParams.getForcedRoute(request.getParams());
if (route != null) {
return route;
}
// If we get here, there is no forced route.
// So we need a target to compute a route.
Asserts.notNull(target, "Target host");
final InetAddress local =
ConnRouteParams.getLocalAddress(request.getParams());
final HttpHost proxy = determineProxy(target, request, context);
final Scheme schm =
this.schemeRegistry.getScheme(target.getSchemeName());
// as it is typically used for TLS/SSL, we assume that
// a layered scheme implies a secure connection
final boolean secure = schm.isLayered();
if (proxy == null) {
route = new HttpRoute(target, local, secure);
} else {
route = new HttpRoute(target, local, proxy, secure);
}
return route;
}
项目:purecloud-iot
文件:AbstractPoolEntry.java
/**
* Opens the underlying connection.
*
* @param route the route along which to open the connection
* @param context the context for opening the connection
* @param params the parameters for opening the connection
*
* @throws IOException in case of a problem
*/
public void open(final HttpRoute route,
final HttpContext context, final HttpParams params)
throws IOException {
Args.notNull(route, "Route");
Args.notNull(params, "HTTP parameters");
if (this.tracker != null) {
Asserts.check(!this.tracker.isConnected(), "Connection already open");
}
// - collect the arguments
// - call the operator
// - update the tracking data
// In this order, we can be sure that only a successful
// opening of the connection will be tracked.
this.tracker = new RouteTracker(route);
final HttpHost proxy = route.getProxyHost();
connOperator.openConnection
(this.connection,
(proxy != null) ? proxy : route.getTargetHost(),
route.getLocalAddress(),
context, params);
final RouteTracker localTracker = tracker; // capture volatile
// If this tracker was reset while connecting,
// fail early.
if (localTracker == null) {
throw new InterruptedIOException("Request aborted");
}
if (proxy == null) {
localTracker.connectTarget(this.connection.isSecure());
} else {
localTracker.connectProxy(proxy, this.connection.isSecure());
}
}