storagehub-client-library/src/main/java/org/gcube/common/storagehub/client/proxies/DefaultManagerClient.java

37 lines
1.0 KiB
Java

package org.gcube.common.storagehub.client.proxies;
import java.util.HashMap;
import java.util.Map;
import org.gcube.common.clients.delegates.ProxyDelegate;
import org.gcube.common.gxrest.request.GXWebTargetAdapterRequest;
import org.gcube.common.storagehub.client.plugins.AbstractPlugin;
public abstract class DefaultManagerClient implements ManagerClient{
protected ProxyDelegate<GXWebTargetAdapterRequest> delegate;
private String impersonedUser= null;
public DefaultManagerClient(ProxyDelegate<GXWebTargetAdapterRequest> delegate) {
this.delegate = delegate;
}
@Override
public void register(Class<?> _classes) {
((AbstractPlugin<?,?>) delegate.config().plugin()).register(_classes);
}
@Override
public void impersonate(String user) {
this.impersonedUser = user;
}
protected Map<String, Object[]> initQueryParameters() {
Map<String, Object[]> params = new HashMap<String, Object[]>();
if (impersonedUser != null)
params.put("impersonate", new Object[] {impersonedUser});
return params;
}
}