You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by am...@apache.org on 2005/12/02 06:08:22 UTC
svn commit: r351591 - in /geronimo/trunk:
applications/console-core/src/java/org/apache/geronimo/console/util/
applications/console-standard/src/java/org/apache/geronimo/console/databasemanager/wizard/
applications/console-standard/src/java/org/apache/...
Author: ammulder
Date: Thu Dec 1 21:08:11 2005
New Revision: 351591
URL: http://svn.apache.org/viewcvs?rev=351591&view=rev
Log:
Fix database driver download feature to work with new repository URIs
(GERONIMO-1261)
Fix security realm portlet to use LoginService reference (GERONIMO-1251)
Modified:
geronimo/trunk/applications/console-core/src/java/org/apache/geronimo/console/util/KernelManagementHelper.java
geronimo/trunk/applications/console-core/src/java/org/apache/geronimo/console/util/ManagementHelper.java
geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/databasemanager/wizard/DatabasePoolPortlet.java
geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/databasemanager/wizard/DriverDownloader.java
geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/securitymanager/realm/SecurityRealmPortlet.java
geronimo/trunk/modules/j2ee/src/java/org/apache/geronimo/j2ee/management/impl/J2EEServerImpl.java
geronimo/trunk/modules/management/src/java/org/apache/geronimo/management/geronimo/J2EEServer.java
geronimo/trunk/modules/security/src/java/org/apache/geronimo/security/jaas/server/JaasLoginService.java
Modified: geronimo/trunk/applications/console-core/src/java/org/apache/geronimo/console/util/KernelManagementHelper.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/applications/console-core/src/java/org/apache/geronimo/console/util/KernelManagementHelper.java?rev=351591&r1=351590&r2=351591&view=diff
==============================================================================
--- geronimo/trunk/applications/console-core/src/java/org/apache/geronimo/console/util/KernelManagementHelper.java (original)
+++ geronimo/trunk/applications/console-core/src/java/org/apache/geronimo/console/util/KernelManagementHelper.java Thu Dec 1 21:08:11 2005
@@ -73,6 +73,7 @@
import org.apache.geronimo.pool.GeronimoExecutor;
import org.apache.geronimo.security.realm.SecurityRealm;
import org.apache.geronimo.security.jaas.JaasLoginModuleUse;
+import org.apache.geronimo.security.jaas.server.JaasLoginServiceMBean;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -438,6 +439,16 @@
return (ServerInfo) pm.createProxy(ObjectName.getInstance(name), KernelManagementHelper.class.getClassLoader());
} catch (Exception e) {
log.error("Unable to look up ServerInfo for J2EEServer", e);
+ return null;
+ }
+ }
+
+ public JaasLoginServiceMBean getLoginService(J2EEServer server) {
+ try {
+ String name = server.getServerInfo();
+ return (JaasLoginServiceMBean) pm.createProxy(ObjectName.getInstance(name), KernelManagementHelper.class.getClassLoader());
+ } catch (Exception e) {
+ log.error("Unable to look up LoginService for J2EEServer", e);
return null;
}
}
Modified: geronimo/trunk/applications/console-core/src/java/org/apache/geronimo/console/util/ManagementHelper.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/applications/console-core/src/java/org/apache/geronimo/console/util/ManagementHelper.java?rev=351591&r1=351590&r2=351591&view=diff
==============================================================================
--- geronimo/trunk/applications/console-core/src/java/org/apache/geronimo/console/util/ManagementHelper.java (original)
+++ geronimo/trunk/applications/console-core/src/java/org/apache/geronimo/console/util/ManagementHelper.java Thu Dec 1 21:08:11 2005
@@ -55,6 +55,7 @@
import org.apache.geronimo.system.logging.SystemLog;
import org.apache.geronimo.system.serverinfo.ServerInfo;
import org.apache.geronimo.security.realm.SecurityRealm;
+import org.apache.geronimo.security.jaas.server.JaasLoginServiceMBean;
/**
* A helper interface to navigate between management objects. This is not
@@ -87,6 +88,7 @@
Repository[] getRepositories(J2EEServer server);
SecurityRealm[] getSecurityRealms(J2EEServer server);
ServerInfo getServerInfo(J2EEServer server);
+ JaasLoginServiceMBean getLoginService(J2EEServer server);
WebManager[] getWebManagers(J2EEServer server);
WebAccessLog getWebAccessLog(WebManager manager, WebContainer container);
WebAccessLog getWebAccessLog(WebManager manager, String containerObjectName);
Modified: geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/databasemanager/wizard/DatabasePoolPortlet.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/databasemanager/wizard/DatabasePoolPortlet.java?rev=351591&r1=351590&r2=351591&view=diff
==============================================================================
--- geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/databasemanager/wizard/DatabasePoolPortlet.java (original)
+++ geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/databasemanager/wizard/DatabasePoolPortlet.java Thu Dec 1 21:08:11 2005
@@ -206,7 +206,6 @@
* @param rarPath If we're creating a new RA, the path to identify it
* @param displayName If we're editing an existing RA, its name
* @param adapterObjectName If we're editing an existing RA, its ObjectName
- * @return
*/
public ResourceAdapterParams getRARConfiguration(PortletRequest request, String rarPath, String displayName, String adapterObjectName) {
PortletSession session = request.getPortletSession(true);
@@ -291,7 +290,7 @@
System.out.println("Finished downloading "+bytes+"b");
}
});
- data.jar1 = found.getRepositoryPath();
+ data.jar1 = found.getRepositoryURI();
} catch (IOException e) {
log.error("Unable to download JDBC driver", e);
}
Modified: geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/databasemanager/wizard/DriverDownloader.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/databasemanager/wizard/DriverDownloader.java?rev=351591&r1=351590&r2=351591&view=diff
==============================================================================
--- geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/databasemanager/wizard/DriverDownloader.java (original)
+++ geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/databasemanager/wizard/DriverDownloader.java Thu Dec 1 21:08:11 2005
@@ -16,31 +16,30 @@
*/
package org.apache.geronimo.console.databasemanager.wizard;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.geronimo.kernel.repository.WriteableRepository;
-import org.apache.geronimo.kernel.repository.FileWriteMonitor;
-
-import java.net.URL;
-import java.net.URI;
-import java.net.MalformedURLException;
-import java.net.URISyntaxException;
-import java.io.InputStream;
-import java.io.IOException;
-import java.io.File;
-import java.io.OutputStream;
import java.io.BufferedOutputStream;
+import java.io.File;
import java.io.FileOutputStream;
-import java.util.Properties;
-import java.util.List;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.net.URL;
import java.util.ArrayList;
-import java.util.Set;
+import java.util.Collections;
import java.util.HashSet;
import java.util.Iterator;
+import java.util.List;
+import java.util.Properties;
import java.util.Random;
-import java.util.Collections;
-import java.util.jar.JarFile;
+import java.util.Set;
import java.util.jar.JarEntry;
+import java.util.jar.JarFile;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.geronimo.kernel.repository.FileWriteMonitor;
+import org.apache.geronimo.kernel.repository.WriteableRepository;
/**
* A utility that handles listing and downloading available JDBC driver JARs.
@@ -88,7 +87,6 @@
String name = props.getProperty("driver."+driver+".name");
String repository = props.getProperty("driver."+driver+".repository");
String unzip = props.getProperty("driver."+driver+".unzip");
- String rename = props.getProperty("driver."+driver+".rename");
urls.clear();
int index = 1;
while(true) {
@@ -107,7 +105,6 @@
if(name != null && repository != null && urls.size() > 0) {
DriverInfo info = new DriverInfo(name, repository);
info.setUnzipPath(unzip);
- info.setRenameTo(rename);
info.setUrls((URL[]) urls.toArray(new URL[urls.size()]));
list.add(info);
}
@@ -130,7 +127,7 @@
}
URL url = driver.urls[urlIndex];
InputStream in;
- String fileName = driver.getRepositoryPath();
+ String uri = driver.getRepositoryURI();
if(driver.unzipPath != null) {
byte[] buf = new byte[1024];
int size;
@@ -169,7 +166,7 @@
log.error("Cannot extract driver JAR "+driver.unzipPath+" from download file "+url);
} else {
in = jar.getInputStream(entry);
- repo.copyToRepository(in, new URI(fileName), monitor);
+ repo.copyToRepository(in, new URI(uri), monitor);
}
} finally {
if(jar != null) try{jar.close();}catch(IOException e) {log.error("Unable to close JAR file", e);}
@@ -177,7 +174,7 @@
}
} else {
in = url.openStream();
- repo.copyToRepository(in, new URI(fileName), monitor);
+ repo.copyToRepository(in, new URI(uri), monitor);
}
} catch (URISyntaxException e) {
throw new IOException("Unable to save to repository URI: "+e.getMessage());
@@ -214,14 +211,13 @@
public static class DriverInfo implements Comparable {
private String name;
- private String repositoryDir;
+ private String repositoryURI;
private String unzipPath;
- private String renameTo;
private URL[] urls;
- public DriverInfo(String name, String repositoryDir) {
+ public DriverInfo(String name, String repositoryURI) {
this.name = name;
- this.repositoryDir = repositoryDir;
+ this.repositoryURI = repositoryURI;
}
public String getName() {
@@ -232,12 +228,12 @@
this.name = name;
}
- public String getRepositoryDir() {
- return repositoryDir;
+ public String getRepositoryURI() {
+ return repositoryURI;
}
- public void setRepositoryDir(String repositoryDir) {
- this.repositoryDir = repositoryDir;
+ public void setRepositoryURI(String repositoryURI) {
+ this.repositoryURI = repositoryURI;
}
public String getUnzipPath() {
@@ -254,32 +250,6 @@
public void setUrls(URL[] urls) {
this.urls = urls;
- }
-
- public String getRenameTo() {
- return renameTo;
- }
-
- public void setRenameTo(String renameTo) {
- this.renameTo = renameTo;
- }
-
- public String getRepositoryPath() {
- String fileName;
- if(unzipPath != null) {
- if(renameTo != null) {
- fileName = renameTo;
- } else {
- fileName = unzipPath;
- }
- } else {
- fileName = urls[0].toString();
- }
- int pos = fileName.lastIndexOf('/');
- if(pos > -1) {
- fileName = fileName.substring(pos+1);
- }
- return repositoryDir+"/jars/"+fileName;
}
public int compareTo(Object o) {
Modified: geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/securitymanager/realm/SecurityRealmPortlet.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/securitymanager/realm/SecurityRealmPortlet.java?rev=351591&r1=351590&r2=351591&view=diff
==============================================================================
--- geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/securitymanager/realm/SecurityRealmPortlet.java (original)
+++ geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/securitymanager/realm/SecurityRealmPortlet.java Thu Dec 1 21:08:11 2005
@@ -318,7 +318,7 @@
ConfigurationDocument doc = ConfigurationDocument.Factory.newInstance();
ConfigurationType root = doc.addNewConfiguration();
root.setConfigId("SecurityRealm"+data.getName());
- root.setParentId("org/apache/geronimo/Server");
+ // Use a parentId of null to pick up the default
// Dependencies
if(data.getJar() != null) {
DependencyType jar = root.addNewDependency();
@@ -334,6 +334,9 @@
ReferenceType serverInfo = realm.addNewReference();
serverInfo.setName2("ServerInfo");
serverInfo.setGbeanName(PortletManager.getCurrentServer(request).getServerInfo());
+ ReferenceType loginService = realm.addNewReference();
+ loginService.setName2("LoginService");
+ loginService.setGbeanName(PortletManager.getCurrentServer(request).getLoginService());
XmlAttributeType config = realm.addNewXmlReference();
// Construct the content to put in the XmlAttributeType
GerLoginConfigDocument lcDoc = GerLoginConfigDocument.Factory.newInstance();
Modified: geronimo/trunk/modules/j2ee/src/java/org/apache/geronimo/j2ee/management/impl/J2EEServerImpl.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/j2ee/src/java/org/apache/geronimo/j2ee/management/impl/J2EEServerImpl.java?rev=351591&r1=351590&r2=351591&view=diff
==============================================================================
--- geronimo/trunk/modules/j2ee/src/java/org/apache/geronimo/j2ee/management/impl/J2EEServerImpl.java (original)
+++ geronimo/trunk/modules/j2ee/src/java/org/apache/geronimo/j2ee/management/impl/J2EEServerImpl.java Thu Dec 1 21:08:11 2005
@@ -205,6 +205,16 @@
return null;
}
+ public String getLoginService() {
+ GBeanQuery query = new GBeanQuery(null, "org.apache.geronimo.security.jaas.server.JaasLoginServiceMBean");
+ Set set = kernel.listGBeans(query);
+ for (Iterator it = set.iterator(); it.hasNext();) {
+ ObjectName name = (ObjectName) it.next();
+ return name.getCanonicalName();
+ }
+ return null;
+ }
+
public String getServerVendor() {
return SERVER_VENDOR;
}
Modified: geronimo/trunk/modules/management/src/java/org/apache/geronimo/management/geronimo/J2EEServer.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/management/src/java/org/apache/geronimo/management/geronimo/J2EEServer.java?rev=351591&r1=351590&r2=351591&view=diff
==============================================================================
--- geronimo/trunk/modules/management/src/java/org/apache/geronimo/management/geronimo/J2EEServer.java (original)
+++ geronimo/trunk/modules/management/src/java/org/apache/geronimo/management/geronimo/J2EEServer.java Thu Dec 1 21:08:11 2005
@@ -87,4 +87,14 @@
* @return The ObjectName of the ServerInfo, in String form.
*/
public String getServerInfo();
+
+ /**
+ * Gets the ObjectName of the LoginService associated with this
+ * J2EEServer.
+ *
+ * @see org.apache.geronimo.security.jaas.server.JaasLoginServiceMBean
+ *
+ * @return The ObjectName of the LoginService, in String form.
+ */
+ public String getLoginService();
}
Modified: geronimo/trunk/modules/security/src/java/org/apache/geronimo/security/jaas/server/JaasLoginService.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/security/src/java/org/apache/geronimo/security/jaas/server/JaasLoginService.java?rev=351591&r1=351590&r2=351591&view=diff
==============================================================================
--- geronimo/trunk/modules/security/src/java/org/apache/geronimo/security/jaas/server/JaasLoginService.java (original)
+++ geronimo/trunk/modules/security/src/java/org/apache/geronimo/security/jaas/server/JaasLoginService.java Thu Dec 1 21:08:11 2005
@@ -453,6 +453,7 @@
infoFactory.addOperation("syncPrincipals", new Class[]{JaasSessionId.class, Set.class});
infoFactory.addReference("Realms", SecurityRealm.class, NameFactory.SECURITY_REALM);
+ infoFactory.addInterface(JaasLoginServiceMBean.class);
infoFactory.setConstructor(new String[]{"algorithm", "password", "classLoader", "objectName"});