You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by xu...@apache.org on 2009/04/25 09:06:10 UTC
svn commit: r768485 - in
/geronimo/server/branches/2.1/plugins/console/plugin-portlets/src/main:
java/org/apache/geronimo/console/securitymanager/realm/ resources/
webapp/WEB-INF/view/realmwizard/
Author: xuhaihong
Date: Sat Apr 25 07:06:10 2009
New Revision: 768485
URL: http://svn.apache.org/viewvc?rev=768485&view=rev
Log:
GERONIMO-4620 Database Security Realm is removed from admin consonle after delete datasource it's based, thanks for Han Hong Fang for the patch !
Modified:
geronimo/server/branches/2.1/plugins/console/plugin-portlets/src/main/java/org/apache/geronimo/console/securitymanager/realm/SecurityRealmPortlet.java
geronimo/server/branches/2.1/plugins/console/plugin-portlets/src/main/resources/pluginportlets.properties
geronimo/server/branches/2.1/plugins/console/plugin-portlets/src/main/resources/pluginportlets_zh.properties
geronimo/server/branches/2.1/plugins/console/plugin-portlets/src/main/webapp/WEB-INF/view/realmwizard/selectType.jsp
Modified: geronimo/server/branches/2.1/plugins/console/plugin-portlets/src/main/java/org/apache/geronimo/console/securitymanager/realm/SecurityRealmPortlet.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.1/plugins/console/plugin-portlets/src/main/java/org/apache/geronimo/console/securitymanager/realm/SecurityRealmPortlet.java?rev=768485&r1=768484&r2=768485&view=diff
==============================================================================
--- geronimo/server/branches/2.1/plugins/console/plugin-portlets/src/main/java/org/apache/geronimo/console/securitymanager/realm/SecurityRealmPortlet.java (original)
+++ geronimo/server/branches/2.1/plugins/console/plugin-portlets/src/main/java/org/apache/geronimo/console/securitymanager/realm/SecurityRealmPortlet.java Sat Apr 25 07:06:10 2009
@@ -136,6 +136,7 @@
private static final String SAVE_MODE = "save";
private static final String MODE_KEY = "mode";
private static final String CUSTOM_MODE = "custom";
+ private static final String MESSAGE_KEY = "messagekey";
private static Kernel kernel;
@@ -186,12 +187,20 @@
actionResponse.setRenderParameter(MODE_KEY, SELECT_TYPE_MODE);
} else if (mode.equals("process-" + SELECT_TYPE_MODE)) {
if (data.getName() != null && !data.getName().trim().equals("")) {
- // Config properties have to be set in render since they have values of null
- if (data.getRealmType().equals("Other")) {
- actionResponse.setRenderParameter(MODE_KEY, CUSTOM_MODE);
+ // Check if realm with the same name already exists
+ Artifact artifact = new Artifact("console.realm", getArtifactId(data.getName()), "1.0", "car");
+ ConfigurationManager configurationManager = ConfigurationUtil.getConfigurationManager(PortletManager.getKernel());
+ if (configurationManager.isInstalled(artifact)) {
+ actionResponse.setRenderParameter(MODE_KEY, SELECT_TYPE_MODE);
+ actionResponse.setRenderParameter(MESSAGE_KEY, "realmwizard.message.sameRealmName");
} else {
- actionResponse.setRenderParameter(MODE_KEY, CONFIGURE_MODE);
- }
+ // Config properties have to be set in render since they have values of null
+ if (data.getRealmType().equals("Other")) {
+ actionResponse.setRenderParameter(MODE_KEY, CUSTOM_MODE);
+ } else {
+ actionResponse.setRenderParameter(MODE_KEY, CONFIGURE_MODE);
+ }
+ }
} else {
actionResponse.setRenderParameter(MODE_KEY, SELECT_TYPE_MODE);
}
@@ -254,6 +263,10 @@
}
try {
String mode = renderRequest.getParameter(MODE_KEY);
+ String sMessageKey = renderRequest.getParameter(MESSAGE_KEY);
+ if (sMessageKey != null) {
+ renderRequest.setAttribute(MESSAGE_KEY, sMessageKey);
+ }
RealmData data = new RealmData();
data.load(renderRequest);
renderRequest.setAttribute("realm", data);
@@ -349,6 +362,18 @@
}
}
+ private String getArtifactId(String name) {
+
+ String artifactId = name;
+ if(artifactId.indexOf('/') != -1) {
+ // slash in artifact-id results in invalid configuration-id and leads to deployment errors.
+ // Note: 0x002F = '/'
+ artifactId = artifactId.replaceAll("/", "%2F");
+ }
+
+ return artifactId;
+ }
+
private XmlObject actionGeneratePlan(PortletRequest request, RealmData data) {
normalize(data);
ModuleDocument doc = ModuleDocument.Factory.newInstance();
@@ -356,12 +381,8 @@
EnvironmentType environment = root.addNewEnvironment();
ArtifactType configId = environment.addNewModuleId();
configId.setGroupId("console.realm");
- String artifactId = data.getName();
- if(artifactId.indexOf('/') != -1) {
- // slash in artifact-id results in invalid configuration-id and leads to deployment errors.
- // Note: 0x002F = '/'
- artifactId = artifactId.replaceAll("/", "%2F");
- }
+ String artifactId = getArtifactId(data.getName());
+
configId.setArtifactId(artifactId);
configId.setVersion("1.0");
configId.setType("car");
@@ -1159,4 +1180,4 @@
}
}
}
-}
\ No newline at end of file
+}
Modified: geronimo/server/branches/2.1/plugins/console/plugin-portlets/src/main/resources/pluginportlets.properties
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.1/plugins/console/plugin-portlets/src/main/resources/pluginportlets.properties?rev=768485&r1=768484&r2=768485&view=diff
==============================================================================
--- geronimo/server/branches/2.1/plugins/console/plugin-portlets/src/main/resources/pluginportlets.properties (original)
+++ geronimo/server/branches/2.1/plugins/console/plugin-portlets/src/main/resources/pluginportlets.properties Sat Apr 25 07:06:10 2009
@@ -1,3 +1,4 @@
+#Generated by ResourceBundle Editor (http://eclipse-rbe.sourceforge.net)
#=====================================================================
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
@@ -286,6 +287,7 @@
realmwizard.list.noSecurityRealms = There are no security realms defined
realmwizard.list.seeExamples = For each realm listed, you can click the <b>usage</b> link to see examples of how to use the realm from your application.\r\n
realmwizard.list.title = This page lists all the available security realms. Server-wide security realms can be edited, while security realms deployed as part of a single application cannot (change the deployment plan in the application instead).
+realmwizard.message.sameRealmName = Security realm with the same name already exists, please specify a new security realm name.
realmwizard.selectType.nameOfSecurityRealmExp = A name that is different than the name for any other security realms in the server (no spaces in the name please). Other components will use this name to refer to the security realm.
realmwizard.selectType.realmTypeExp = The type of login module used as the master for this security realm. Select "Other" for manual configuration options including custom login modules and realms that use multiple login modules to populate user principals.
realmwizard.selectType.title = <b>Create Security Realm</b> -- Step 1: Select Name and Type
Modified: geronimo/server/branches/2.1/plugins/console/plugin-portlets/src/main/resources/pluginportlets_zh.properties
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.1/plugins/console/plugin-portlets/src/main/resources/pluginportlets_zh.properties?rev=768485&r1=768484&r2=768485&view=diff
==============================================================================
--- geronimo/server/branches/2.1/plugins/console/plugin-portlets/src/main/resources/pluginportlets_zh.properties (original)
+++ geronimo/server/branches/2.1/plugins/console/plugin-portlets/src/main/resources/pluginportlets_zh.properties Sat Apr 25 07:06:10 2009
@@ -1,3 +1,4 @@
+#Generated by ResourceBundle Editor (http://eclipse-rbe.sourceforge.net)
#=====================================================================
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
@@ -61,8 +62,8 @@
car.download.foundDependencies = \u4E0B\u9762\u662F\u627E\u5230\u7684\u8FD9\u4E2A\u63D2\u4EF6\u7684\u4F9D\u8D56\u9879\u3002\u5982\u679C\u4F60\u7EE7\u7EED\u7684\u8BDD\uFF0C\u5C06\u4F1A\u81EA\u52A8\u5730\u5B89\u88C5\u4EFB\u4F55\u7F3A\u5C11\u7684\u4F9D\u8D56\u9879\u3002
car.download.processing = \u5904\u7406{0}\u4E2D...
car.downloadStatus.processing = \u5904\u7406\u4E2D{0}...
-car.index.assembleServerLong = Assemble a server from plugins in this one
car.index.assembleServer = Assemble a server
+car.index.assembleServerLong = Assemble a server from plugins in this one
car.index.createGeronimoPluginExp = \u5728\u5F53\u524DGeronimo\u670D\u52A1\u5668\u4E2D\u9009\u62E9\u8981\u4F5C\u4E3AGeronimo\u63D2\u4EF6\u5BFC\u51FA\u7684\u914D\u7F6E\u3002\u8FD9\u4E2A\u914D\u7F6E\u5C06\u4EE5CAR\u6587\u4EF6\u7684\u5F62\u5F0F\u4FDD\u5B58\u5230\u4F60\u672C\u5730\u7CFB\u7EDF\u4E2D\u3002<i>\u6CE8\u610F\uFF1A\u5728\u4F60\u5C06\u5B83\u5BFC\u51FA\u540E\uFF0C\u76EE\u524D\u8981\u4F7F\u5B83\u5F53\u4F5C\u4E00\u4E2A\u6709\u6548\u7684\u63D2\u4EF6\uFF0C\u4F60\u5FC5\u987B\u624B\u52A8\u5730\u6DFB\u52A0<tt>META-INF/geronimo-plugin.xml</tt>\u6587\u4EF6\u5230CAR\u4E2D\u3002</i>
car.index.optionalAuthentication = \u53EF\u9009\u9A8C\u8BC1\u4FE1\u606F
car.index.removePluginsExp = \u4E3A\u4E86\u5220\u9664\u4E00\u4E2A\u63D2\u4EF6\uFF0C\u5728\u53F3\u8FB9\u5BFC\u822A\u9762\u677F\u7684<b>\u5E94\u7528\u7A0B\u5E8F</b>\u4E0B\u76F8\u5E94\u7684\u7C7B\u522B\u4E2D\u627E\u5230\u63D2\u4EF6\u7684\u6A21\u5757\uFF0C\u5E76\u5378\u8F7D\u5B83\u3002
@@ -143,8 +144,8 @@
#consolebase.common.returnToList = Return to List
consolebase.common.save = \u4FDD\u5B58
consolebase.common.start = \u542F\u52A8
-consolebase.common.stop = \u505C\u6B62
consolebase.common.state = \u72B6\u6001
+consolebase.common.stop = \u505C\u6B62
consolebase.common.uninstall = \u5378\u8F7D
consolebase.common.usage = \u7528\u6CD5
consolebase.common.user = \u7528\u6237
@@ -228,6 +229,7 @@
realmwizard.list.noSecurityRealms = \u4E0D\u5B58\u5728\u9884\u5B9A\u4E49\u7684\u5B89\u5168\u57DF
realmwizard.list.seeExamples = \u5BF9\u4E8E\u6BCF\u4E00\u4E2A\u57DF\uFF0C\u53EF\u4EE5\u70B9\u51FB<b>\u7528\u6CD5</b>\u6765\u770B\u5982\u4F55\u5728\u4F60\u7684\u5E94\u7528\u4E2D\u4F7F\u7528\u6B64\u57DF\u3002
realmwizard.list.title = \u8FD9\u4E2A\u9875\u9762\u663E\u793A\u4E86\u6240\u6709\u53EF\u7528\u7684\u5B89\u5168\u57DF\u3002\u53EF\u4EE5\u7F16\u8F91\u670D\u52A1\u5668\u7EA7\u522B\u7684\u5B89\u5168\u57DF\uFF0C\u4F46\u662F\u88AB\u90E8\u7F72\u4E3A\u5355\u4E2A\u5E94\u7528\u4E00\u90E8\u5206\u7684\u5B89\u5168\u57DF\u5219\u4E0D\u80FD\u88AB\u7F16\u8F91\uFF08\u800C\u662F\u4FEE\u6539\u5E94\u7528\u7684\u90E8\u7F72\u8BA1\u5212\uFF09\u3002
+realmwizard.message.sameRealmName = \u540C\u540D\u5B89\u5168\u57DF\u5DF2\u7ECF\u5B58\u5728, \u8BF7\u6307\u5B9A\u65B0\u7684\u5B89\u5168\u57DF\u540D\u79F0\u3002
realmwizard.selectType.nameOfSecurityRealmExp = \u7ED9\u5B89\u5168\u57DF\u9009\u53D6\u4E00\u4E2A\u4E0D\u540C\u4E8E\u670D\u52A1\u5668\u4E2D\u5176\u5B83\u5B89\u5168\u57DF\u7684\u540D\u79F0\uFF0C\u540D\u79F0\u4E2D\u8BF7\u4E0D\u8981\u6709\u7A7A\u683C\u3002\u5176\u5B83\u7EC4\u4EF6\u5C06\u4F7F\u7528\u8FD9\u4E2A\u540D\u79F0\u6765\u6307\u5411\u8FD9\u4E2A\u5B89\u5168\u57DF\u3002
realmwizard.selectType.realmTypeExp = \u767B\u5F55\u6A21\u5757\u7684\u7C7B\u578B\u7528\u6765\u8868\u793A\u5B89\u5168\u57DF\u5B58\u50A8\u4F4D\u7F6E\u3002\u9009\u62E9"Other"\uFF0C\u53EF\u4EE5\u624B\u52A8\u914D\u7F6E\u4E00\u4E9B\u9009\u9879\uFF0C\u6BD4\u5982\u8BF4\uFF1A\u81EA\u5B9A\u4E49\u767B\u5F55\u6A21\u5757\uFF0C\u548C\u5B89\u5168\u57DF\u6765\u4F7F\u7528\u591A\u4E2A\u767B\u5F55\u6A21\u5757\u6765\u83B7\u5F97\u7528\u6237\u8EAB\u4EFD\u4FE1\u606F\u3002
realmwizard.selectType.title = <b>\u521B\u5EFA\u5B89\u5168\u57DF</b> --\u6B65\u9AA41: \u9009\u62E9\u540D\u79F0\u548C\u7C7B\u578B
Modified: geronimo/server/branches/2.1/plugins/console/plugin-portlets/src/main/webapp/WEB-INF/view/realmwizard/selectType.jsp
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.1/plugins/console/plugin-portlets/src/main/webapp/WEB-INF/view/realmwizard/selectType.jsp?rev=768485&r1=768484&r2=768485&view=diff
==============================================================================
--- geronimo/server/branches/2.1/plugins/console/plugin-portlets/src/main/webapp/WEB-INF/view/realmwizard/selectType.jsp (original)
+++ geronimo/server/branches/2.1/plugins/console/plugin-portlets/src/main/webapp/WEB-INF/view/realmwizard/selectType.jsp Sat Apr 25 07:06:10 2009
@@ -30,7 +30,9 @@
return textElementsNotEmpty(<portlet:namespace/>formName,<portlet:namespace/>requiredFields);
}
</script>
-
+<c:if test="${!(empty messagekey)}">
+ <fmt:message key="${messagekey}" />
+</c:if>
<p><fmt:message key="realmwizard.selectType.title" /></p>
<!-- FORM TO COLLECT DATA FOR THIS PAGE -->