Author: norman
Date: Tue Nov 21 10:36:12 2006
New Revision: 477804
URL: http://svn.apache.org/viewvc?view=rev&rev=477804
Log:
Check if used VirtualUserTableService is manageable before cast. If not throw
an Exception to avoid ClastCastException. See JAMES-706
Fix a typo in a Classname
Added:
james/server/trunk/src/java/org/apache/james/management/VirtualUserTableManagementMBean.java
- copied, changed from r476928,
james/server/trunk/src/java/org/apache/james/management/VirtualUserTableManagmentMBean.java
Removed:
james/server/trunk/src/java/org/apache/james/management/VirtualUserTableManagmentMBean.java
Modified:
james/server/trunk/src/java/org/apache/james/management/VirtualUserTableManagement.java
james/server/trunk/src/java/org/apache/james/management/VirtualUserTableManagement.xinfo
james/server/trunk/src/java/org/apache/james/transport/mailets/RemoteDelivery.java
Modified:
james/server/trunk/src/java/org/apache/james/management/VirtualUserTableManagement.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/src/java/org/apache/james/management/VirtualUserTableManagement.java?view=diff&rev=477804&r1=477803&r2=477804
==============================================================================
---
james/server/trunk/src/java/org/apache/james/management/VirtualUserTableManagement.java
(original)
+++
james/server/trunk/src/java/org/apache/james/management/VirtualUserTableManagement.java
Tue Nov 21 10:36:12 2006
@@ -37,7 +37,7 @@
* Management for VirtualUserTables
*
*/
-public class VirtualUserTableManagement implements Serviceable,
VirtualUserTableManagementService, VirtualUserTableManagmentMBean {
+public class VirtualUserTableManagement implements Serviceable,
VirtualUserTableManagementService, VirtualUserTableManagementMBean {
VirtualUserTableStore store;
org.apache.james.services.VirtualUserTableManagement defaultVUT;
@@ -75,6 +75,9 @@
// Check if a table with the given name exists, if not throw an
Exception
if (vut == null) {
throw new VirtualUserTableManagementException("No
VirtualUserTable with such name: " + tableName);
+ } else if (!(vut instanceof
org.apache.james.services.VirtualUserTableManagement)){
+ // Used VUT not support management, throw an Exception
+ throw new VirtualUserTableManagementException("Used
VirtualUserTable implementation not support management");
} else {
return vut;
}
Modified:
james/server/trunk/src/java/org/apache/james/management/VirtualUserTableManagement.xinfo
URL:
http://svn.apache.org/viewvc/james/server/trunk/src/java/org/apache/james/management/VirtualUserTableManagement.xinfo?view=diff&rev=477804&r1=477803&r2=477804
==============================================================================
---
james/server/trunk/src/java/org/apache/james/management/VirtualUserTableManagement.xinfo
(original)
+++
james/server/trunk/src/java/org/apache/james/management/VirtualUserTableManagement.xinfo
Tue Nov 21 10:36:12 2006
@@ -13,7 +13,7 @@
<!-- interfaces that may be exported to manange this block -->
<management-access-points>
- <service
name="org.apache.james.management.VirtualUserTableManagmentMBean"/>
+ <service
name="org.apache.james.management.VirtualUserTableManagementMBean"/>
</management-access-points>
<dependencies>
Copied:
james/server/trunk/src/java/org/apache/james/management/VirtualUserTableManagementMBean.java
(from r476928,
james/server/trunk/src/java/org/apache/james/management/VirtualUserTableManagmentMBean.java)
URL:
http://svn.apache.org/viewvc/james/server/trunk/src/java/org/apache/james/management/VirtualUserTableManagementMBean.java?view=diff&rev=477804&p1=james/server/trunk/src/java/org/apache/james/management/VirtualUserTableManagmentMBean.java&r1=476928&p2=james/server/trunk/src/java/org/apache/james/management/VirtualUserTableManagementMBean.java&r2=477804
==============================================================================
---
james/server/trunk/src/java/org/apache/james/management/VirtualUserTableManagmentMBean.java
(original)
+++
james/server/trunk/src/java/org/apache/james/management/VirtualUserTableManagementMBean.java
Tue Nov 21 10:36:12 2006
@@ -31,7 +31,7 @@
*
* @phoenix:mx-topic name="VirtualUserTableAdministration"
*/
-public interface VirtualUserTableManagmentMBean {
+public interface VirtualUserTableManagementMBean {
/**
* Add regex mapping
Modified:
james/server/trunk/src/java/org/apache/james/transport/mailets/RemoteDelivery.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/src/java/org/apache/james/transport/mailets/RemoteDelivery.java?view=diff&rev=477804&r1=477803&r2=477804
==============================================================================
---
james/server/trunk/src/java/org/apache/james/transport/mailets/RemoteDelivery.java
(original)
+++
james/server/trunk/src/java/org/apache/james/transport/mailets/RemoteDelivery.java
Tue Nov 21 10:36:12 2006
@@ -377,7 +377,7 @@
}
}
-
+
/*
* private method to log the extended SendFailedException introduced in
JavaMail 1.3.2.
*/
@@ -797,13 +797,31 @@
} else {
out.print("Temporary");
}
- StringBuffer logBuffer =
- new StringBuffer(64)
+ StringBuffer logBuffer = new StringBuffer(64)
.append(" exception delivering mail (")
.append(mail.getName())
- .append(": ");
+ .append(". ");
out.print(logBuffer.toString());
+
+ // Try to log the remote mailserver answer to give some informations
why the message was not accepted
+ if (ex instanceof SMTPSendFailedException) {
+ out.println("Remote Host said: " + ex.getMessage() + ".");
+ } else {
+ Exception e;
+ while ((e = ex.getNextException()) != null && e instanceof
MessagingException) {
+ if (e instanceof SMTPAddressFailedException) {
+ SMTPAddressFailedException exception =
(SMTPAddressFailedException) e;
+ Address[] addresses = exception.getInvalidAddresses();
+
+ for(int i = 0; i < addresses.length; i++) {
+ out.println(addresses[i] + " -> " + e.getMessage());
+ }
+ }
+ }
+ }
+
if (isDebug) ex.printStackTrace(out);
+
log(sout.toString());
if (!permanent) {
if (!mail.getState().equals(Mail.ERROR)) {
@@ -868,6 +886,8 @@
}
return true;
}
+
+
private void bounce(Mail mail, MessagingException ex) {
StringWriter sout = new StringWriter();
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]