Merged remote-tracking branch 'origin/feature/16359'
This commit is contained in:
commit
6e3f89992b
13
pom.xml
13
pom.xml
|
@ -1,16 +1,17 @@
|
||||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
<parent>
|
<parent>
|
||||||
<artifactId>maven-parent</artifactId>
|
<artifactId>maven-parent</artifactId>
|
||||||
<groupId>org.gcube.tools</groupId>
|
<groupId>org.gcube.tools</groupId>
|
||||||
<version>1.1.0-SNAPSHOT</version>
|
<version>1.1.0</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<groupId>org.gcube.data.access</groupId>
|
<groupId>org.gcube.data.access</groupId>
|
||||||
<artifactId>ckan-connector</artifactId>
|
<artifactId>ckan-connector</artifactId>
|
||||||
<version>1.1.2-SNAPSHOT</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
<packaging>war</packaging>
|
<packaging>war</packaging>
|
||||||
<name>ckan connector</name>
|
<name>ckan connector</name>
|
||||||
<description>a ckan connector for automatic login</description>
|
<description>a ckan connector for automatic login</description>
|
||||||
|
@ -80,6 +81,12 @@
|
||||||
<version>3.0.1</version>
|
<version>3.0.1</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.gcube.data-publishing</groupId>
|
||||||
|
<artifactId>gcat-client</artifactId>
|
||||||
|
<version>[1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT)</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.slf4j</groupId>
|
<groupId>org.slf4j</groupId>
|
||||||
<artifactId>slf4j-api</artifactId>
|
<artifactId>slf4j-api</artifactId>
|
||||||
|
|
|
@ -1 +1,5 @@
|
||||||
|
<<<<<<< HEAD
|
||||||
webapp/
|
webapp/
|
||||||
|
=======
|
||||||
|
webapp
|
||||||
|
>>>>>>> refs/remotes/origin/feature/16359
|
||||||
|
|
|
@ -20,6 +20,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
import org.gcube.common.authorization.library.provider.AuthorizationProvider;
|
import org.gcube.common.authorization.library.provider.AuthorizationProvider;
|
||||||
import org.gcube.common.scope.api.ScopeProvider;
|
import org.gcube.common.scope.api.ScopeProvider;
|
||||||
|
import org.gcube.gcat.client.User;
|
||||||
import org.python.core.PyLong;
|
import org.python.core.PyLong;
|
||||||
import org.python.core.PyObject;
|
import org.python.core.PyObject;
|
||||||
import org.python.core.PyString;
|
import org.python.core.PyString;
|
||||||
|
@ -82,22 +83,34 @@ public class ConnectorManager {
|
||||||
String ckanKey = context.getInitParameter("ckanKey");
|
String ckanKey = context.getInitParameter("ckanKey");
|
||||||
String originalUserName = AuthorizationProvider.instance.get().getClient().getId();
|
String originalUserName = AuthorizationProvider.instance.get().getClient().getId();
|
||||||
String changedUserName = originalUserName.replace(".", "_");
|
String changedUserName = originalUserName.replace(".", "_");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int internalPort = Integer.parseInt(context.getInitParameter("internalPort"));
|
int internalPort = Integer.parseInt(context.getInitParameter("internalPort"));
|
||||||
String localhostName = "http://127.0.0.1:"+internalPort;
|
String localhostName = "http://127.0.0.1:"+internalPort;
|
||||||
long startCheckUser = System.currentTimeMillis();
|
long startCheckUser = System.currentTimeMillis();
|
||||||
CkanClient ckanClient = new CkanClient(localhostName, ckanKey);
|
CkanClient ckanClient = new CkanClient(localhostName, ckanKey);
|
||||||
CkanUser user = null;
|
|
||||||
try{
|
|
||||||
user = ckanClient.getUser(changedUserName);
|
try {
|
||||||
}catch(Exception e){
|
User user = new User();
|
||||||
log.warn("user {} doesn't exist, the system will create it",originalUserName, e);
|
user.read(changedUserName);
|
||||||
}
|
}catch (Throwable tr) {
|
||||||
log.info("checking user took {}",(System.currentTimeMillis()-startCheckUser));
|
log.error("Error while contacting gCat. The old code will made the work", tr);
|
||||||
if (user==null){
|
CkanUser user = null;
|
||||||
long startCreateUser = System.currentTimeMillis();
|
try{
|
||||||
user = ckanClient.createUser(new CkanUser(changedUserName, originalUserName+"@gcube.ckan.org" , randomString.nextString() ));
|
user = ckanClient.getUser(changedUserName);
|
||||||
log.info("create user took {}",(System.currentTimeMillis()-startCreateUser));
|
}catch(Exception e){
|
||||||
|
log.warn("user {} doesn't exist, the system will create it",originalUserName, e);
|
||||||
|
}
|
||||||
|
log.info("checking user took {}",(System.currentTimeMillis()-startCheckUser));
|
||||||
|
if (user==null){
|
||||||
|
long startCreateUser = System.currentTimeMillis();
|
||||||
|
user = ckanClient.createUser(new CkanUser(changedUserName, originalUserName+"@gcube.ckan.org" , randomString.nextString() ));
|
||||||
|
log.info("create user took {}",(System.currentTimeMillis()-startCreateUser));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
addUserToVres(vres, changedUserName, ckanClient, ckanKey, localhostName);
|
addUserToVres(vres, changedUserName, ckanClient, ckanKey, localhostName);
|
||||||
|
|
||||||
log.info("logging {} in scope {}",originalUserName, ScopeProvider.instance.get());
|
log.info("logging {} in scope {}",originalUserName, ScopeProvider.instance.get());
|
||||||
|
|
Loading…
Reference in New Issue