diff --git a/.classpath b/.classpath deleted file mode 100644 index 82422e1..0000000 --- a/.classpath +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/.project b/.project deleted file mode 100644 index 5e66cd0..0000000 --- a/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - applicationSupportLayerCore - - - - - - org.eclipse.jdt.core.javabuilder - - - - - - org.eclipse.jdt.core.javanature - - diff --git a/.settings/org.eclipse.jdt.ui.prefs b/.settings/org.eclipse.jdt.ui.prefs deleted file mode 100644 index 18848fa..0000000 --- a/.settings/org.eclipse.jdt.ui.prefs +++ /dev/null @@ -1,3 +0,0 @@ -#Mon Sep 22 12:37:04 EEST 2008 -eclipse.preferences.version=1 -org.eclipse.jdt.ui.text.custom_code_templates= diff --git a/build.xml b/build.xml deleted file mode 100644 index e637b31..0000000 --- a/build.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - Compiling project source code - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/etc/ehcache.xml b/etc/ehcache.xml deleted file mode 100644 index 38fbfe7..0000000 --- a/etc/ehcache.xml +++ /dev/null @@ -1,538 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/etc/settings.properties b/etc/settings.properties deleted file mode 100644 index 8ce600a..0000000 --- a/etc/settings.properties +++ /dev/null @@ -1 +0,0 @@ -sharedDir=${catalina.home}/shared/d4s \ No newline at end of file diff --git a/etc/vomsAPI.properties b/etc/vomsAPI.properties deleted file mode 100644 index 0c7bd2f..0000000 --- a/etc/vomsAPI.properties +++ /dev/null @@ -1,18 +0,0 @@ -MYPROXY_HOST=grids04.eng.it -MYPROXY_PORT=7512 -PROXIES_DIR=#path to dir where the proxy files will be storeed# -HOST_CERT=#myproxy certificate# -HOST_KEY=#myproxy key# - -NEW_SERVLET_HOST=dl14.di.uoa.gr #hostname for voms servlet# -NEW_SERVLET_PORT=8888 #port where voms servlet is listening# -NEW_SERVLET_PATH=/VOMSServlet/VOMSServlet #voms servlet path# -NEW_SERVLET_PROTOCOL=http # protocol: http/https# - -KEY_STORE=#path to *.p12 key file# -KEY_STORE_TYPE=PKCS12 -KEY_STORE_PWD=#password for the *.p12 key file# - -TRUST_STORE=#path to trust store file# -TRUST_STORE_PWD=#password for the trust store file# -TRUST_STORE_TYPE=JKS \ No newline at end of file diff --git a/src/org/gcube/application/framework/core/cache/CachesManager.java b/src/org/gcube/application/framework/core/cache/CachesManager.java deleted file mode 100644 index 743d091..0000000 --- a/src/org/gcube/application/framework/core/cache/CachesManager.java +++ /dev/null @@ -1,137 +0,0 @@ -package org.gcube.application.framework.core.cache; - -import java.util.HashMap; - -import org.gcube.application.framework.core.cache.factories.GenericResourceCacheEntryFactory; - -import net.sf.ehcache.CacheManager; -import net.sf.ehcache.Ehcache; -import net.sf.ehcache.constructs.blocking.CacheEntryFactory; -import net.sf.ehcache.constructs.blocking.SelfPopulatingCache; - -/** - * @author Valia Tsagkalidou (KNUA) - * - * This class is a singleton that manages the available caches - * - */ -public class CachesManager { - protected static CachesManager cacheManager = new CachesManager(); - protected CacheManager manager; -// protected Ehcache profileCache; -// protected Ehcache genericResourceCache; -// protected Ehcache searchConfigCache; -// protected Ehcache collectionCache; -// protected Ehcache contentCache; -// protected Ehcache thumbnailCache; -// protected Ehcache schemataCache; -// protected Ehcache metadataCache; - - protected HashMap caches; - - /** - * The constructor - */ - protected CachesManager() { - - manager = CacheManager.create(CachesManager.class.getResource("/etc/ehcache.xml")); - - caches = new HashMap(); - -// profileCache = manager.getEhcache("profiles"); - Ehcache genericResourceCache = manager.getEhcache("genericResources"); -// searchConfigCache = manager.getEhcache("searchConfiguration"); -// collectionCache = manager.getEhcache("collections"); -// contentCache = manager.getEhcache("content"); -// thumbnailCache = manager.getEhcache("thumbnail"); -// schemataCache = manager.getEhcache("schemata"); -// metadataCache = manager.getEhcache("metadata"); - -// profileCache = new SelfPopulatingCache(profileCache, new ProfileCacheEntryFactory()); - genericResourceCache = new SelfPopulatingCache(genericResourceCache, new GenericResourceCacheEntryFactory()); - caches.put("genericResourceCache", genericResourceCache); -// searchConfigCache = new SelfPopulatingCache(searchConfigCache, new SearchConfigCacheEntryFactory()); -// collectionCache = new SelfPopulatingCache(collectionCache, new CollectionCacheEntryFactory()); -// contentCache = new SelfPopulatingCache(contentCache, new ContentInfoCacheEntryFactory()); -// thumbnailCache = new SelfPopulatingCache(thumbnailCache, new ThumbnailCacheEntryFactory()); -// schemataCache = new SelfPopulatingCache(schemataCache, new SchemaInfoCacheEntryFactory()); -// metadataCache = new SelfPopulatingCache(metadataCache, new MetadataCacheEntryFactory()); - } - - /** - * @return the sigleton of CachesManager - */ - public static CachesManager getInstance() { - return cacheManager; - } - - public Ehcache getEhcache (String cacheName, CacheEntryFactory cacheFactory) { - if (caches.get(cacheName) == null) { - Ehcache newCache = manager.getEhcache(cacheName); - newCache = new SelfPopulatingCache(newCache, cacheFactory); - caches.put(cacheName, newCache); - } - - return caches.get(cacheName); - } - - - - - /** - * @return the cache that contains the user profiles - */ -// public Ehcache getProfileCache() { -// return profileCache; -// } - - /** - * @return the cache that contains the generic resources - */ - public Ehcache getGenericResourceCache() { - return caches.get("genericResourceCache"); - } - - /** - * @return the cache that contains the search configurations - */ -// public Ehcache getSearchConfigCache() { -// return searchConfigCache; -// } - - /** - * @return the cache that contains the collections per VRE - */ -// public Ehcache getCollectionCache() { -// return collectionCache; -// } - - /** - * @return the cache that contains information about digital objects - */ -// public Ehcache getContentCache() { -// return contentCache; -// } - - /** - * @return the cache that contains thumbnails - */ -// public Ehcache getThumbnailCache() { -// return thumbnailCache; -// } - - /** - * @return the cache that contains the searchable fields for each metadata schema - */ -// public Ehcache getSchemataCache() { -// return schemataCache; -// } - - /** - * @return the cache that contains the metadata objects - */ -// public Ehcache getMetadataCache() { -// return metadataCache; -// } - -} diff --git a/src/org/gcube/application/framework/core/cache/RIsManager.java b/src/org/gcube/application/framework/core/cache/RIsManager.java deleted file mode 100644 index a6247eb..0000000 --- a/src/org/gcube/application/framework/core/cache/RIsManager.java +++ /dev/null @@ -1,77 +0,0 @@ -package org.gcube.application.framework.core.cache; - -import java.util.HashMap; - -import org.gcube.common.core.scope.GCUBEScope; -import org.gcube.common.core.utils.logging.GCUBELog; -import org.gcube.informationsystem.cache.ISCache; -import org.gcube.informationsystem.cache.ISCacheManager; - - -/** - * This class manages the running harvester threads. - * - * @author Valia Tsagkalidou (KNUA) - * - */ - -public class RIsManager { - - - /** - * Defines the manager's instance - */ - private static RIsManager instance = null; - - /** - * keeps the ISCache per scope - */ - protected HashMap isCaches; - - /** Object logger. */ - protected final GCUBELog logger = new GCUBELog(this); - - /** - * Initializes RIsManager - */ - private RIsManager() { - isCaches = new HashMap(); - } - - /** - * Retrieves the singleton - * @return the only instance of RIsManager - */ - synchronized public static RIsManager getInstance() { - if (instance == null) - instance = new RIsManager(); - return instance; - } - - /** - * @param scope the GGUBEScope for which the RIs are requested - * @return the ISCache for this specific scope - */ - public synchronized ISCache getISCache(GCUBEScope scope) - { - ISCache isInfo = isCaches.get(scope); - if(isInfo == null) - { - // If the ISCache in not already created, then it creates a new instance and adds it to the HashMap - try { - ISCacheManager.addManager(scope); - isInfo = ISCacheManager.getManager(scope).getCache(); - isCaches.put(scope, isInfo); - try { - Thread.sleep(5000); - } catch (InterruptedException e1) { - logger.error("", e1); - } - } catch (Exception e) { - logger.error("", e); - } - } - return isInfo; - } - -} diff --git a/src/org/gcube/application/framework/core/cache/factories/ApplicationCredentials.java b/src/org/gcube/application/framework/core/cache/factories/ApplicationCredentials.java deleted file mode 100644 index 7d51e84..0000000 --- a/src/org/gcube/application/framework/core/cache/factories/ApplicationCredentials.java +++ /dev/null @@ -1,96 +0,0 @@ -package org.gcube.application.framework.core.cache.factories; - -import java.util.HashMap; - -import org.gcube.application.framework.core.security.PortalSecurityManager; -import org.gcube.application.framework.core.security.VOMSAdminManager; -import org.gcube.application.framework.core.util.UserCredential; -import org.gcube.common.core.scope.GCUBEScope; -import org.gcube.common.core.security.utils.VOMSAttributesReader; -import org.gcube.common.core.utils.logging.GCUBELog; -import org.gcube.vomanagement.vomsAdmin.impl.VOMSAdminImpl; -import org.gridforum.jgss.ExtendedGSSCredential; - -/** - * This class is used for retrieving and updating the portal credential that is needed by the caches in order to retrieve information form gCube services - * @author Valia Tsagkalidou (NKUA) - * - */ -public class ApplicationCredentials { - private static ApplicationCredentials applCredentials = new ApplicationCredentials(); - private HashMap creds; - protected static String userDN = "/O=Grid/OU=GlobusTest/OU=simpleCA-gauss.eng.it/OU=eng.it/CN="; - protected static String userCA = "/O=Grid/OU=GlobusTest/OU=simpleCA-gauss.eng.it/CN=Globus Simple CA"; - - - /** Object logger. */ - protected final GCUBELog logger = new GCUBELog(this); - - /** - * The basic constructor - */ - protected ApplicationCredentials() - { - creds = new HashMap(); - } - - /** - * @return the sigleton of ApplicationCredentials - */ - public static ApplicationCredentials getInstance() - { - return applCredentials; - } - - /** - * @param VREname the of the VRE for which you want to get the "portal" credential - * @return the grid credential - */ - public ExtendedGSSCredential getCredential(String VREname) - { - PortalSecurityManager secMan = new PortalSecurityManager(GCUBEScope.getScope(VREname)); - if(!secMan.isSecurityEnabled()) - return null; - ExtendedGSSCredential cred = creds.get(VREname); - if(cred == null) - { - // If the creedential is not available, it retrieves it from myProxy - cred = UserCredential.getCredential("application", VREname); - if(cred == null) - { - //user "application" does not exist on this VRE, so we add him and try to get credential again - VOMSAdminImpl vomsA; - try { - vomsA = VOMSAdminManager.getVOMSAdmin(); - String[] roles = vomsA.listRoles(); - vomsA.createUser("application", userDN+"application", userCA, "application@gcube.org"); - vomsA.addMember(VREname, userDN+"application", userCA); - vomsA.assignRole(VREname, roles[0], userDN+"application", userCA); - } - catch (Exception e) { - vomsA = null; - logger.error("", e); - } - cred = UserCredential.getCredential("application", VREname); - } - creds.put(VREname, cred); - } - else - { - // credential already available - VOMSAttributesReader vomsReader = null; - try { - vomsReader = new VOMSAttributesReader(cred); - //Check if it's gonna expire in the next minute, and refresh it - if(vomsReader.getRefreshPeriod() < 60000) - { - cred = UserCredential.getCredential("application", VREname); - creds.put(VREname, cred); - } - } catch (Exception e1) { - logger.error("", e1); - } - } - return cred; - } -} diff --git a/src/org/gcube/application/framework/core/cache/factories/GenericResourceCacheEntryFactory.java b/src/org/gcube/application/framework/core/cache/factories/GenericResourceCacheEntryFactory.java deleted file mode 100644 index 0ebd92b..0000000 --- a/src/org/gcube/application/framework/core/cache/factories/GenericResourceCacheEntryFactory.java +++ /dev/null @@ -1,117 +0,0 @@ - -package org.gcube.application.framework.core.cache.factories; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.gcube.application.framework.core.genericresources.model.ISGenericResource; -import org.gcube.application.framework.core.util.CacheEntryConstants; -import org.gcube.application.framework.core.util.QueryString; -import org.gcube.application.framework.core.util.SessionConstants; -import org.gcube.common.core.contexts.GCUBEContext; -import org.gcube.common.core.contexts.GHNContext; -import org.gcube.common.core.informationsystem.client.AtomicCondition; -import org.gcube.common.core.informationsystem.client.ISClient; -import org.gcube.common.core.informationsystem.client.queries.GCUBEGenericResourceQuery; -import org.gcube.common.core.resources.GCUBEGenericResource; -import org.gcube.common.core.scope.GCUBEScope; -import org.gcube.common.core.utils.logging.GCUBELog; - -import net.sf.ehcache.constructs.blocking.CacheEntryFactory; - -/** - * @author Valia Tsagkalidou - * - */ -public class GenericResourceCacheEntryFactory implements CacheEntryFactory { - - static ISClient client = null; - - - /** Object logger. */ - protected final GCUBELog logger = new GCUBELog(this); - - /** - * Constructor to initialize the ISClient - */ - public GenericResourceCacheEntryFactory() { - super(); - if(client == null) - { - try { - client = GHNContext.getImplementation(ISClient.class); - } catch (Exception e) { - logger.error("",e); - } - } - } - - - - - /** - * @param key a QueryString representing pairs of keys and values: needed keys are "vre" and one of "id" or "name" - * @return a list containing the Generic Resources that correspond to the query - */ - public List createEntry(Object key) throws Exception { - QueryString querySt = (QueryString) key; - logger.info("query: " + querySt.toString()); - GCUBEScope scope = GCUBEScope.getScope(querySt.get(CacheEntryConstants.vre)); - GCUBEGenericResourceQuery query = client.getQuery(GCUBEGenericResourceQuery.class); - - logger.info("In generic resources cache entry factory"); - - if(querySt.containsKey(CacheEntryConstants.id)) - { //Retrieving generic resources based on their ID - query.addAtomicConditions(new AtomicCondition("/ID", querySt.get(CacheEntryConstants.id))); - - } - // else if(querySt.containsKey(CacheEntryConstants.name) && querySt.get(CacheEntryConstants.name).equals(SessionConstants.ScenarioSchemaInfo)) - // { //Retrieving the generic resource that represents the static search configuration - // query.addAtomicConditions(new AtomicCondition("/Profile/Name", querySt.get(CacheEntryConstants.name))); - // query.addAtomicConditions(new AtomicCondition("/Profile/Body/DL/attribute::name", querySt.get(CacheEntryConstants.vre))); - // } - else if(querySt.containsKey(CacheEntryConstants.name)) - { //Retrieving generic resources based on their name - query.addAtomicConditions(new AtomicCondition("/Profile/Name", querySt.get(CacheEntryConstants.name))); - } - else if(querySt.containsKey(CacheEntryConstants.vreResource)) - { - - query.addAtomicConditions(new AtomicCondition("//SecondaryType", GCUBEGenericResource.SECONDARYTYPE_VRE), new AtomicCondition("//Body/Scope", scope.toString())); - - } - - try{ - List result = client.execute(query, scope); - List res = new ArrayList(); - if (querySt.containsKey(CacheEntryConstants.name) && querySt.get(CacheEntryConstants.name).equals(SessionConstants.ScenarioSchemaInfo)) { - System.out.println("The number of generic Resources for ScenarioSchemaInfo returned is: " + result.size()); - List newResult = new ArrayList(); - for (GCUBEGenericResource resource : result) { - Map scopes = resource.getScopes(); - System.out.println("Number of scopes for ScenarioSchemaInfo: " + scopes.values().size()); - System.out.println(scopes.values().toString()); - if (scopes.containsValue(scope)) { - newResult.add(resource); - } - } - System.out.println("Number of genericResources for ScenarioSchemaInfo left after the pruning" + newResult.size()); - result = newResult; - } - logger.debug("size of results: " + result.size()); - for(GCUBEGenericResource resource : result) - { - ISGenericResource genResource = new ISGenericResource(resource.getID(), resource.getName(), resource.getDescription(), resource.getBody(), resource.getSecondaryType()); - res.add(genResource); - } - return res; - }catch (Exception e) { - logger.error("",e); - return null; - } - } - -} diff --git a/src/org/gcube/application/framework/core/genericresources/model/ISGenericResource.java b/src/org/gcube/application/framework/core/genericresources/model/ISGenericResource.java deleted file mode 100644 index 2f0df7c..0000000 --- a/src/org/gcube/application/framework/core/genericresources/model/ISGenericResource.java +++ /dev/null @@ -1,114 +0,0 @@ -package org.gcube.application.framework.core.genericresources.model; - - -/** - * @author Valia Tsaqgkalidou (NKUA) - * - */ -public class ISGenericResource { - - protected String id; - protected String name; - protected String description; - protected String body; - protected String secondaryType; - - - /** - * @return the secondary type of the generic resource - */ - public String getSecondaryType() { - return secondaryType; - } - - - /** - * @param secondaryType the secondary type of the generic resource to be set - */ - public void setSecondaryType(String secondaryType) { - this.secondaryType = secondaryType; - } - - - /** - * Generic Constructor - */ - public ISGenericResource() { - super(); - this.id = ""; - this.name = ""; - this.description = ""; - this.body = ""; - this.secondaryType = ""; - } - - - /** - * @param id the generic resource ID - * @param name the generic resource name - * @param description the generic resource description - * @param body the generic resource body - * @param sType the generic resource secondary type - */ - public ISGenericResource(String id, String name, String description, - String body, String sType) { - super(); - this.id = id; - this.name = name; - this.description = description; - this.body = body; - this.secondaryType = sType; - } - - - /** - * @return the id - */ - public String getId() { - return id; - } - /** - * @param id the id to set - */ - public void setId(String id) { - this.id = id; - } - /** - * @return the name - */ - public String getName() { - return name; - } - /** - * @param name the name to set - */ - public void setName(String name) { - this.name = name; - } - /** - * @return the description - */ - public String getDescription() { - return description; - } - /** - * @param description the description to set - */ - public void setDescription(String description) { - this.description = description; - } - /** - * @return the body - */ - public String getBody() { - return body; - } - /** - * @param body the body to set - */ - public void setBody(String body) { - this.body = body; - } - - -} diff --git a/src/org/gcube/application/framework/core/security/JaasCallbackHandler.java b/src/org/gcube/application/framework/core/security/JaasCallbackHandler.java deleted file mode 100644 index 3704f84..0000000 --- a/src/org/gcube/application/framework/core/security/JaasCallbackHandler.java +++ /dev/null @@ -1,43 +0,0 @@ -package org.gcube.application.framework.core.security; - -import java.io.IOException; - -import javax.security.auth.callback.Callback; -import javax.security.auth.callback.CallbackHandler; -import javax.security.auth.callback.NameCallback; -import javax.security.auth.callback.PasswordCallback; -import javax.security.auth.callback.UnsupportedCallbackException; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -public class JaasCallbackHandler implements CallbackHandler{ - - protected String username = null; - protected String password = null; - - private Log log = LogFactory.getLog(JaasCallbackHandler.class); - - public JaasCallbackHandler(String username, String password) { - super(); - this.username = username; - this.password = password; - } - - public void handle(Callback callbacks[]) - throws IOException, UnsupportedCallbackException { - for (int i = 0; i < callbacks.length; i++) { - if (callbacks[i] instanceof NameCallback) { - if (log.isDebugEnabled()) log.debug("responding to NameCallback"); - ((NameCallback) callbacks[i]).setName(username); - } else if (callbacks[i] instanceof PasswordCallback) { - if (log.isDebugEnabled()) log.debug("responding to PasswordCallback"); - ((PasswordCallback) callbacks[i]).setPassword(password != null ? password.toCharArray() : new char[0]); - } else { - if (log.isDebugEnabled()) log.debug("unsupported callback: " + callbacks[i].getClass()); - throw new UnsupportedCallbackException(callbacks[i]); - } - } - } - -} diff --git a/src/org/gcube/application/framework/core/security/LDAPAuthenticationModule.java b/src/org/gcube/application/framework/core/security/LDAPAuthenticationModule.java deleted file mode 100644 index f888bfc..0000000 --- a/src/org/gcube/application/framework/core/security/LDAPAuthenticationModule.java +++ /dev/null @@ -1,72 +0,0 @@ -package org.gcube.application.framework.core.security; - - -import javax.security.auth.login.AccountExpiredException; -import javax.security.auth.login.CredentialExpiredException; -import javax.security.auth.login.FailedLoginException; -import javax.security.auth.login.LoginContext; -import javax.security.auth.login.LoginException; - - - - -public class LDAPAuthenticationModule { - - public static String LDAP_HOST = "LDAP_HOST"; - public static String BASE_DN = "BASE_DN"; - - - private String contextName = "Gridsphere"; - //private String contextName = "AslLoginConf"; - - public LDAPAuthenticationModule () { - return; - } - - - - public boolean checkAuthentication(String username, String password) throws Exception { - - System.out.println("beginning authentication for " + username); - System.out.println("I am in ASL"); - - - LoginContext loginContext; - - // Create the LoginContext - try { - loginContext = new LoginContext(contextName, new JaasCallbackHandler(username, password)); - } catch (SecurityException e) { - e.printStackTrace(); - throw new Exception("key4", e); - } catch (LoginException e) { - e.printStackTrace(); - throw new Exception("key4", e); - } - - // Attempt login - try { - loginContext.login(); - } catch (FailedLoginException e) { - // throw new Exception("key4", e); - e.printStackTrace(); - return false; - } catch (AccountExpiredException e) { - //throw new Exception("key1"); - e.printStackTrace(); - return false; - } catch (CredentialExpiredException e) { - // throw new Exception("key2", e); - e.printStackTrace(); - return false; - } catch (Exception e) { - // throw new Exception("key3", e); - return false; - } - System.out.println("ASL returning value true"); - return true; - - } - - -} diff --git a/src/org/gcube/application/framework/core/security/PortalSecurityManager.java b/src/org/gcube/application/framework/core/security/PortalSecurityManager.java deleted file mode 100644 index 615e192..0000000 --- a/src/org/gcube/application/framework/core/security/PortalSecurityManager.java +++ /dev/null @@ -1,89 +0,0 @@ -package org.gcube.application.framework.core.security; - -import java.io.BufferedReader; -import java.io.StringReader; -import java.util.List; - -import org.gcube.application.framework.core.cache.CachesManager; -import org.gcube.application.framework.core.genericresources.model.ISGenericResource; -import org.gcube.application.framework.core.session.ASLSession; -import org.gcube.application.framework.core.util.CacheEntryConstants; -import org.gcube.application.framework.core.util.QueryString; -import org.gcube.application.framework.core.util.SessionConstants; -import org.gcube.common.core.scope.GCUBEScope; -import org.gcube.common.core.security.GCUBESecurityManagerImpl; -import org.gcube.common.core.utils.logging.GCUBELog; -import org.kxml2.io.KXmlParser; - -/** - * @author Valia Tsagkalidou (KNUA) - * - */ -public class PortalSecurityManager extends GCUBESecurityManagerImpl { - - /** Object logger. */ - protected final GCUBELog logger = new GCUBELog(this); - - public PortalSecurityManager(GCUBEScope scope) { - super(); - this.scope = scope; - } - - public PortalSecurityManager(ASLSession session) { - super(); - this.scope = session.getScope(); - } - - GCUBEScope scope; - - - @Override - public boolean isSecurityEnabled() { - QueryString query = new QueryString(); - query.put(CacheEntryConstants.vreResource, "true"); - query.put(CacheEntryConstants.vre, scope.toString()); - List res = (List)CachesManager.getInstance().getGenericResourceCache().get(query).getValue(); - if(res == null || res.size() == 0) - return false; - else - { - try { - return parseBody(res.get(0).getBody()); - } catch (Exception e) { - logger.error("",e); - return false; - } - } - } - - /** - * Loads from the Body element the resource information - * @param body the Body of the generic resource - * @throws Exception if the element is not valid or well formed - */ - private boolean parseBody(String body) throws Exception { - KXmlParser parser = new KXmlParser(); - parser.setInput(new BufferedReader(new StringReader(body))); - loop: while (true) { - try { - switch (parser.next()) { - case KXmlParser.START_TAG: - if (parser.getName().equals("SecurityEnabled")) - { - boolean res = Boolean.valueOf(parser.nextText()).booleanValue(); - logger.debug("Found value:" + res); - return res; - } - else parser.nextText();//just skip the text - break; - case KXmlParser.END_DOCUMENT: break loop; - } - } catch (Exception e) { - logger.error("",e); - throw new Exception ("Unable to parse the ScopeResource body"); - } - } - return false; - } - -} diff --git a/src/org/gcube/application/framework/core/security/ServiceContextManager.java b/src/org/gcube/application/framework/core/security/ServiceContextManager.java deleted file mode 100644 index f9fee23..0000000 --- a/src/org/gcube/application/framework/core/security/ServiceContextManager.java +++ /dev/null @@ -1,37 +0,0 @@ -package org.gcube.application.framework.core.security; - -import java.rmi.Remote; - -import org.gcube.application.framework.core.session.ASLSession; -import org.gcube.common.core.contexts.GCUBERemotePortTypeContext; -import org.gcube.common.core.scope.GCUBEScope; -import org.gcube.common.core.scope.GCUBEScope.MalformedScopeExpressionException; -import org.gcube.common.core.security.GCUBESecurityManager; -import org.ietf.jgss.GSSCredential; - -public class ServiceContextManager { - - public static PORTTYPE applySecurity(PORTTYPE stub, ASLSession session) throws MalformedScopeExpressionException, Exception - { - GCUBESecurityManager secManager = new PortalSecurityManager(session); - if(secManager.isSecurityEnabled()) - { - secManager.useCredentials(session.getCredential()); - } - return GCUBERemotePortTypeContext.getProxy(stub , session.getScope(), secManager); - - } - - - public static PORTTYPE applySecurity(PORTTYPE stub, GCUBEScope scope, GSSCredential cred) throws MalformedScopeExpressionException, Exception - { - GCUBESecurityManager secManager = new PortalSecurityManager(scope); - if(secManager.isSecurityEnabled()) - { - secManager.useCredentials(cred); - } - return GCUBERemotePortTypeContext.getProxy(stub , scope, secManager); - - } - -} diff --git a/src/org/gcube/application/framework/core/security/VOMSAdminManager.java b/src/org/gcube/application/framework/core/security/VOMSAdminManager.java deleted file mode 100644 index 6895425..0000000 --- a/src/org/gcube/application/framework/core/security/VOMSAdminManager.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.gcube.application.framework.core.security; - -import java.io.File; - -import org.gcube.application.framework.core.util.Settings; -import org.gcube.vomanagement.vomsAdmin.impl.VOMSAdminImpl; - -/** - * @author Valia Tsagkalidou (NKUA) - * - */ -public class VOMSAdminManager { - - /** - * - */ - protected static VOMSAdminImpl vomsAdmin= null; - - /** - * @return - */ - public static VOMSAdminImpl getVOMSAdmin() - { - if(vomsAdmin == null) - { - try { - vomsAdmin = new VOMSAdminImpl(Settings.getInstance().getProperty("sharedDir")+ File.separator + "vomsAPI.properties"); - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - return vomsAdmin; - } -} diff --git a/src/org/gcube/application/framework/core/session/ASLSession.java b/src/org/gcube/application/framework/core/session/ASLSession.java deleted file mode 100644 index 536447d..0000000 --- a/src/org/gcube/application/framework/core/session/ASLSession.java +++ /dev/null @@ -1,222 +0,0 @@ -package org.gcube.application.framework.core.session; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Set; - -import org.gcube.application.framework.core.cache.CachesManager; -import org.gcube.application.framework.core.security.PortalSecurityManager; -import org.gcube.application.framework.core.util.SessionConstants; -import org.gcube.application.framework.core.util.UserCredential; -import org.gcube.common.core.scope.GCUBEScope; -import org.gridforum.jgss.ExtendedGSSCredential; - -/** - * @author Valia Tsagkalidou (NKUA) - * - */ -public class ASLSession{ - - /** - * - */ - private static final long serialVersionUID = 1L; - private HashMap innerSession; - private long lastUsedTime; - private String externalSessionID; - private String username; - private ExtendedGSSCredential credential; - private GCUBEScope scope; - private HashMap notifiers; - - /** - * A constructor based on the user and an external ID - * @param externalSessionId the external id - * @param user the username - */ - ASLSession(String externalSessionId, String user) - { - innerSession = new HashMap(); - notifiers = new HashMap(); - lastUsedTime = System.currentTimeMillis(); - username = user; - externalSessionID = externalSessionId; - } - - private void initializeAttributes() { - } - - /** - * @return whether the session is still valid or not - */ - public boolean isValid() - { - if((System.currentTimeMillis() - lastUsedTime) > 1800000) // 30 minutes - return false; - return true; - } - - /** - * @return whether the session is empty or not - */ - public boolean isEmpty() - { - lastUsedTime = System.currentTimeMillis(); - return innerSession.isEmpty(); - } - - /** - * @param name the name of the attribute - * @return whether the name attribute exists in the session - */ - public boolean hasAttribute(String name) - { - lastUsedTime = System.currentTimeMillis(); - return innerSession.containsKey(name); - } - - /** - * @return a set of all the attributes in the session - */ - public Set getAttributeNames() - { - lastUsedTime = System.currentTimeMillis(); - return innerSession.keySet(); - } - - /** - * @param name the name of the attribute - * @return the value of the named attribute - */ - public Object getAttribute(String name) - { - lastUsedTime = System.currentTimeMillis(); - return innerSession.get(name); - } - - /** - * @param name the name of the attribute - * @param value the value of the attribute - */ - public void setAttribute(String name, Object value) - { - lastUsedTime = System.currentTimeMillis(); - innerSession.put(name, value); - } - - /** - * Removes the named attribute from the session - * @param name the name of the attribute - * @return the removed object - */ - public Object removeAttribute(String name) - { - lastUsedTime = System.currentTimeMillis(); - return innerSession.remove(name); - } - - /** - * Removes all the attributes from the session - */ - public void removeAll() - { - lastUsedTime = System.currentTimeMillis(); - innerSession.clear(); - } - - /** - * invalidates the session - */ - public void invalidate() - { - lastUsedTime = System.currentTimeMillis() - 2000000; //more than 30 minutes - } - - /** - * @return the credential - */ - public ExtendedGSSCredential getCredential() { - return credential; - } - - /** - * @return the external session id (passed to the constructor) - */ - public String getExternalSessionID() { - return externalSessionID; - } - - /** - * @return the username - */ - public String getUsername() { - return username; - } - - /** - * @return the scope - */ - public GCUBEScope getScope() { - return scope; - } - - /** - * @return the name of the scope (VRE) - */ - public String getScopeName() - { - return scope.toString(); - } - - /** - * @param scope the scope name (VRE) - */ - public void setScope(String scope) { - lastUsedTime = System.currentTimeMillis(); - String[] split = scope.trim().substring(1).split("/",2); - String vo = "/" + split[0].toLowerCase(); - if(split.length > 1) - vo += "/" + split[1]; - System.out.println("*** VRE to be set:" + vo + " ***"); - this.scope = GCUBEScope.getScope(vo); - if(new PortalSecurityManager(this.scope).isSecurityEnabled()) - this.credential = UserCredential.getCredential(username, scope); - innerSession.clear(); - initializeAttributes(); - } - - /** - * @param notification the name of the notification to wait for - * @throws InterruptedException when the thread is interrupted - */ - public void waitNotification(String notification) throws InterruptedException - { - Notifier notifier = notifiers.get(notification); - if(notifier == null) - { - notifier = new Notifier(); - notifiers.put(notification, notifier); - } - - lastUsedTime = System.currentTimeMillis(); - notifier.waitNotification(); - } - - /** - * @param notification the name of the notification to send notification - * @throws InterruptedException when the thread is interrupted - */ - public void notifyAllWaiting(String notification) throws InterruptedException - { - Notifier notifier = notifiers.get(notification); - if(notifier == null) - { - notifier = new Notifier(); - notifiers.put(notification, notifier); - } - - lastUsedTime = System.currentTimeMillis(); - notifier.notifyAllWaiting(); - } -} diff --git a/src/org/gcube/application/framework/core/session/Notifier.java b/src/org/gcube/application/framework/core/session/Notifier.java deleted file mode 100644 index 904f269..0000000 --- a/src/org/gcube/application/framework/core/session/Notifier.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.gcube.application.framework.core.session; - -import java.util.concurrent.Semaphore; - -class Notifier { - - Semaphore sem; - - Notifier() { - sem = new Semaphore(0, true); - } - - - public void waitNotification() throws InterruptedException - { - sem.acquire(); - System.out.println("\n\njust woke up!!!\n\n"); - } - - public void notifyAllWaiting() throws InterruptedException - { - System.out.println("Sending wake up signal to " + sem.getQueueLength() + " receivers..."); - sem.release(sem.getQueueLength()); - } -} diff --git a/src/org/gcube/application/framework/core/session/SessionManager.java b/src/org/gcube/application/framework/core/session/SessionManager.java deleted file mode 100644 index ab4ad2c..0000000 --- a/src/org/gcube/application/framework/core/session/SessionManager.java +++ /dev/null @@ -1,75 +0,0 @@ -package org.gcube.application.framework.core.session; - -import java.util.Date; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Set; - - -public class SessionManager { - - protected static Thread thread = new CleanSessionThread(); - protected static SessionManager sessionManager = new SessionManager(); - protected HashMap sessions; - - protected SessionManager() { - sessions = new HashMap(); - thread.setDaemon(true); - thread.start(); - } - - public static SessionManager getInstance() { - return sessionManager; - } - - public ASLSession getD4ScienceSession(String externalSessionID, String username) - { - ASLSession session = sessions.get(externalSessionID + "_" + username); - if(session == null || !session.isValid() || !session.getUsername().equals(username)) - { - session = new ASLSession(externalSessionID, username); - sessions.put(externalSessionID + "_" + username, session); - } - return session; - } - - @Override - protected void finalize() throws Throwable { - thread.interrupt(); - System.out.println(new Date(System.currentTimeMillis()) + " clean thread was interrupted"); - thread.join(); - System.out.println(new Date(System.currentTimeMillis()) + " clean thread was joint"); - super.finalize(); - } - - - protected static class CleanSessionThread extends Thread - { - public void run() - { - while(true) - { - try { - Thread.sleep(600000); - } catch (InterruptedException e) { - e.printStackTrace(); - System.out.println(new Date(System.currentTimeMillis()) + " clean thread was interrupted (in clean thread)"); - break; - } - //TODO: cleanup invalid sessions: add locks... - Set keys = sessionManager.sessions.keySet(); - Iterator iter = keys.iterator(); - while(iter.hasNext()) - { - String extSessionID = iter.next(); - if(!sessionManager.sessions.get(extSessionID).isValid()) - { - sessionManager.sessions.remove(extSessionID); - } - } - } - System.out.println(new Date(System.currentTimeMillis()) + " clean thread was terminated"); - } - - } -} diff --git a/src/org/gcube/application/framework/core/util/CacheEntryConstants.java b/src/org/gcube/application/framework/core/util/CacheEntryConstants.java deleted file mode 100644 index d3d7f38..0000000 --- a/src/org/gcube/application/framework/core/util/CacheEntryConstants.java +++ /dev/null @@ -1,59 +0,0 @@ -package org.gcube.application.framework.core.util; - -/** - * @author Valia Tsagkalidou (KNUA) - * - */ -public class CacheEntryConstants { - - /** - * Cache constant for VRE - */ - public static final String vre = "vre"; - - /** - * Cache constant for oid - */ - public static final String oid = "oid"; - - /** - * Cache constant for metadataColID - */ - public static final String metadataColID = "metadataColID"; - - /** - * Cache constant for name - */ - public static final String name = "name"; - - /** - * Cache constant for id - */ - public static final String id = "id"; - - /** - * Cache constant for username - */ - public static final String username = "username"; - - /** - * Cache constant for width - */ - public static final String width = "width"; - - /** - * Cache constant for height - */ - public static final String height = "height"; - - /** - * thumbOptions - */ - public static final String thumbOptions = "thumbOptions"; - - /** - * vreResource - */ - public static final String vreResource = "vreResource"; - -} diff --git a/src/org/gcube/application/framework/core/util/NotificationConstants.java b/src/org/gcube/application/framework/core/util/NotificationConstants.java deleted file mode 100644 index 77e9f72..0000000 --- a/src/org/gcube/application/framework/core/util/NotificationConstants.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.gcube.application.framework.core.util; - -/** - * @author Valia Tsagkalidou (KNUA) - * - */ -public class NotificationConstants { - - public static final String CollectionsStatusChange = "CollectionsStatusChange"; - -} diff --git a/src/org/gcube/application/framework/core/util/QueryString.java b/src/org/gcube/application/framework/core/util/QueryString.java deleted file mode 100644 index ddad06b..0000000 --- a/src/org/gcube/application/framework/core/util/QueryString.java +++ /dev/null @@ -1,30 +0,0 @@ -package org.gcube.application.framework.core.util; - -import java.util.HashMap; - -/** - * @author Valia Tsagkalidou (KNUA) - * - */ -public class QueryString extends HashMap{ - - /** - * - */ - private static final long serialVersionUID = 1L; - - public QueryString() { - super(); - } - - public void addParameter(String name, String value) - { - this.put(name, value); - } - - public void removeParameter(String name) - { - this.remove(name); - } - -} diff --git a/src/org/gcube/application/framework/core/util/SessionConstants.java b/src/org/gcube/application/framework/core/util/SessionConstants.java deleted file mode 100644 index 8dd6b12..0000000 --- a/src/org/gcube/application/framework/core/util/SessionConstants.java +++ /dev/null @@ -1,119 +0,0 @@ -package org.gcube.application.framework.core.util; - -/** - * @author Valia Tsagkalidou (KNUA) - * - */ -public class SessionConstants { - - /** - * Used for generic resource name which contains the static search configuration - */ - public static final String ScenarioSchemaInfo = "ScenarioCollectionInfo"; - - /** - * Used for a variable in the session representing a HashMap>: - * pairs: (schema, list of searchable fields for this schema) - */ - public static final String SchemataInfo = "SchemataInfo"; - - /** - * Used for generic resource name which contains info about searchable fields per schema... - */ - public static final String MetadataSchemaInfo = "MetadataSchemaInfo"; - - /** - * Used for a variable in the session representing the available collections - */ - public static final String Collections = "Collections"; - - /** - * Used for a variable in the session representing the available queries (queries that the user has created) - */ - public static final String Queries = "Queries"; - - /** - * Used for a variable in the session that contains info for the geospatial search (boundinf box, time interval, etc) - */ - public static final String Geospatial = "Geospatial"; - - /** - * Used for a variable in the session representing the number of the current page number in the results. - */ - public static final String page_no = "page_no"; - - /** - * Used for a variable in the session representing how many results were actually read from resultset last time - */ - public static final String resNo = "resNo"; - - /** - * Used for a variable in the session representing the total number of result pages... - */ - public static final String page_total = "page_total"; - - /** - * Used for a variable in the session representing the index in the current resultset part (where we stopped reading results last time) - */ - public static final String lastRes = "lastRes"; - - /** - * Used for a variable in the session representing whether we have reach the last page of results - */ - public static final String isLast = "isLast"; - - /** - * Used for a variable in the session that contains info about whether we have go beyond the edges of results... (out of index) - */ - public static final String out_of_end = "out_of_end"; - - /** - * the current resultset client - */ - public static final String rsClient = "rsClient"; - - /** - * the results objects already processed from the resultset - */ - public static final String theResultObjects = "theResultObjects"; - - /** - * the thumbnail urls for each result object (already processed from the resultset ) - */ - public static final String theThumbnails = "theThumbnails"; - - /** - * the index in the result objects from where we should start reading - */ - public static final String startingPoint = "startingPoint"; - - /** - * what type search was applied (Simple, Advanced, Browse, Quick, Google, etc) - */ - public static final String sourcePortlet = "sourcePortlet"; - - /** - * the resultset EPR (not used any more) - */ - public static final String rsEPR = "rsEPR"; /* the Result Set EPR */ - - /** - * whether to show result rank or not - */ - public static final String showRank = "showRank"; - - /** - * an exception occured during search: message to the users - */ - public static final String searchException = "searchException"; - - /** - * the id of the active query - */ - public static final String activeQueryNo = "activeQueryNo"; - - /** - * the id of the active query to be presented - */ - public static final String activePresentationQueryNo = "activePresentationQueryNo"; -} diff --git a/src/org/gcube/application/framework/core/util/Settings.java b/src/org/gcube/application/framework/core/util/Settings.java deleted file mode 100644 index cc42fcc..0000000 --- a/src/org/gcube/application/framework/core/util/Settings.java +++ /dev/null @@ -1,58 +0,0 @@ -package org.gcube.application.framework.core.util; - -import java.io.*; -import java.util.*; -import java.net.URISyntaxException; - -public class Settings { - - static Properties props = new Properties(); - static Settings settings = null; - - Settings() - { - try - { - props.load(Settings.class.getResourceAsStream("/etc/settings.properties")); - - } - catch (FileNotFoundException e) - { - // TODO Auto-generated catch block - e.printStackTrace(); - } - catch (IOException e) - { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - - public static Settings getInstance() - { - if (settings == null) - settings = new Settings(); - return settings; - } - - /** - * @return the props - */ - public String getProperty(String key) { - String value = props.getProperty(key); - if(value.contains("${")) - { - int start = 0; - int i; - while((i= value.indexOf("${", start)) != -1) - { - start = value.indexOf("}", i) +1; - String reg = value.substring(i, start); - System.out.println(reg); - System.out.println(reg.substring(2, reg.length() -1)); - value = value.replace(reg, (System.getProperty(reg.substring(2, reg.length() -1)) != null)?System.getProperty(reg.substring(2, reg.length() -1)):""); - } - } - return value; - } -} diff --git a/src/org/gcube/application/framework/core/util/TransformXSLT.java b/src/org/gcube/application/framework/core/util/TransformXSLT.java deleted file mode 100644 index 41b19f4..0000000 --- a/src/org/gcube/application/framework/core/util/TransformXSLT.java +++ /dev/null @@ -1,120 +0,0 @@ -package org.gcube.application.framework.core.util; - -import java.io.BufferedReader; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.InputStreamReader; -import java.io.Reader; -import java.io.StringWriter; - -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.transform.Transformer; -import javax.xml.transform.TransformerFactory; -import javax.xml.transform.stream.StreamResult; -import javax.xml.transform.stream.StreamSource; - -import org.apache.xml.serialize.OutputFormat; -import org.apache.xml.serialize.XMLSerializer; -import org.w3c.dom.Document; - -/** - * @author Valia Tsagkalidou (KNUA) - * - */ -public class TransformXSLT { - /** - * Transforms an xml document based on the given xslt - * @param xslt the xslt for transforming the xml - * @param xml the xml to be transformed - * @return a string containing the transformed xml (output of the transformation) - */ - public static String transform(String xslt, String xml) - { - Transformer transformer; - try - {//Retrieve the XSLT from the DIS (generic resource), and create the transformer - ByteArrayInputStream xsltStream = new ByteArrayInputStream(xslt.getBytes()); - TransformerFactory tFactory = TransformerFactory.newInstance(); - transformer = tFactory.newTransformer(new StreamSource(xsltStream)); - - DocumentBuilderFactory dfactory = DocumentBuilderFactory.newInstance(); - Document doc = null; - - doc = dfactory.newDocumentBuilder().parse(xml); - // Apply the transformation - ByteArrayOutputStream ba_stream = new ByteArrayOutputStream(); - OutputFormat format = new OutputFormat(doc); - format.setIndenting(false); - format.setOmitDocumentType(true); - format.setOmitXMLDeclaration(true); - StringWriter writer = new StringWriter(); - XMLSerializer serial = new XMLSerializer(writer,format); - serial.serialize(doc); - transformer.transform(new StreamSource(new ByteArrayInputStream(writer.toString().getBytes())), new StreamResult(ba_stream)); - //Prepares the object to be returned - StringBuffer buffer = new StringBuffer(); - try { - InputStreamReader isr = new InputStreamReader( new ByteArrayInputStream(ba_stream.toByteArray()), - "UTF8"); - Reader in2 = new BufferedReader(isr); - int ch; - while ((ch = in2.read()) > -1) { - buffer.append((char)ch); - } - in2.close(); - return buffer.toString(); - } catch (Exception e) { - e.printStackTrace(); - } - } - catch (Exception e) { - e.printStackTrace(); - } - return null; - } - - /** - * Transforms an xml document based on the given transformer - * @param transformer the transformer based on which the transformation will be applied - * @param xml the xml document to be transformed - * @return a string containing the transformed xml (output of the transformation) - */ - public static String transform(Transformer transformer, String xml) - { - DocumentBuilderFactory dfactory = DocumentBuilderFactory.newInstance(); - Document doc = null; - - try - { - doc = dfactory.newDocumentBuilder().parse(xml); - ByteArrayOutputStream ba_stream = new ByteArrayOutputStream(); - OutputFormat format = new OutputFormat(doc); - format.setIndenting(false); - format.setOmitDocumentType(true); - format.setOmitXMLDeclaration(true); - StringWriter writer = new StringWriter(); - XMLSerializer serial = new XMLSerializer(writer,format); - serial.serialize(doc); - transformer.transform(new StreamSource(new ByteArrayInputStream(writer.toString().getBytes())), new StreamResult(ba_stream)); - //Prepares the object to be returned - StringBuffer buffer = new StringBuffer(); - try { - InputStreamReader isr = new InputStreamReader( new ByteArrayInputStream(ba_stream.toByteArray()), - "UTF8"); - Reader in2 = new BufferedReader(isr); - int ch; - while ((ch = in2.read()) > -1) { - buffer.append((char)ch); - } - in2.close(); - return buffer.toString(); - } catch (Exception e) { - e.printStackTrace(); - } - } - catch (Exception e) { - e.printStackTrace(); - } - return null; - } -} diff --git a/src/org/gcube/application/framework/core/util/UserCredential.java b/src/org/gcube/application/framework/core/util/UserCredential.java deleted file mode 100644 index aa08ec7..0000000 --- a/src/org/gcube/application/framework/core/util/UserCredential.java +++ /dev/null @@ -1,42 +0,0 @@ -package org.gcube.application.framework.core.util; - -import java.io.File; - -import org.gcube.vomanagement.vomsAdmin.impl.VOMSAdminImpl; -import org.gcube.vomanagement.vomsClient.impl.CredentialsManagerImpl; -import org.gridforum.jgss.ExtendedGSSCredential; - -/** - * @author Valia Tsagkalidou (NKUA) - * - */ -public class UserCredential { - /** - * Retrieves credential for users - * @param username the user name for which it will retrieve credential - * @param DLname DLname - * @return the GSS Credential - */ - public static ExtendedGSSCredential getCredential(String username, String DLname) - { - CredentialsManagerImpl man = null; - try { - String sharedDir = Settings.getInstance().getProperty("sharedDir"); - System.out.println("file " + sharedDir + "/vomsAPI.properties exists: "+ new File(sharedDir + "/vomsAPI.properties").exists()); - // man = new CredentialsManagerImpl(sharedDir + "/vomsAPI.properties"); - VOMSAdminImpl vomsAdm = new VOMSAdminImpl(sharedDir + "/vomsAPI.properties"); - man = new CredentialsManagerImpl(vomsAdm); - } catch (Exception e1) { - e1.printStackTrace(); - } - ExtendedGSSCredential cred = null; - try { - //TODO: put a real password there... - cred = man.getCredentials(username, "", DLname); - } catch (Exception e) { - e.printStackTrace(); - } - return cred; - } - -}