Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
joram
joram
Commits
b2412358
Commit
b2412358
authored
Jun 15, 2010
by
Guillaume Surrel
Browse files
Replace ClientMessages Vector and Enumeration with collection framework List and Iterator.
parent
4b991c71
Changes
8
Hide whitespace changes
Inline
Side-by-side
joram/src/com/scalagent/joram/mom/dest/ftp/FtpQueueImpl.java
View file @
b2412358
/*
* JORAM: Java(TM) Open Reliable Asynchronous Messaging
* Copyright (C) 2001 - 200
8
ScalAgent Distributed Technologies
* Copyright (C) 2001 - 20
1
0 ScalAgent Distributed Technologies
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
...
...
@@ -24,6 +24,7 @@ package com.scalagent.joram.mom.dest.ftp;
import
java.util.Enumeration
;
import
java.util.Hashtable
;
import
java.util.Iterator
;
import
java.util.Properties
;
import
org.objectweb.joram.mom.dest.QueueImpl
;
...
...
@@ -158,9 +159,8 @@ public class FtpQueueImpl extends QueueImpl {
}
public
ClientMessages
preProcess
(
AgentId
from
,
ClientMessages
not
)
{
for
(
Enumeration
msgs
=
not
.
getMessages
().
elements
();
msgs
.
hasMoreElements
();)
{
Message
msg
=
(
Message
)
msgs
.
nextElement
();
for
(
Iterator
msgs
=
not
.
getMessages
().
iterator
();
msgs
.
hasNext
();)
{
Message
msg
=
(
Message
)
msgs
.
next
();
if
(
isFtpMsg
(
msg
))
{
doProcessFtp
(
not
,
msg
);
not
.
getMessages
().
remove
(
msg
);
...
...
joram/src/com/scalagent/joram/mom/dest/scheduler/SchedulerQueueImpl.java
View file @
b2412358
/*
* JORAM: Java(TM) Open Reliable Asynchronous Messaging
* Copyright (C) 2005 - 200
9
ScalAgent Distributed Technologies
* Copyright (C) 2005 - 20
1
0 ScalAgent Distributed Technologies
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
...
...
@@ -23,7 +23,7 @@
package
com.scalagent.joram.mom.dest.scheduler
;
import
java.util.Date
;
import
java.util.
Enum
erat
ion
;
import
java.util.
It
erat
or
;
import
java.util.Properties
;
import
org.objectweb.joram.mom.dest.QueueImpl
;
...
...
@@ -96,8 +96,8 @@ public class SchedulerQueueImpl extends QueueImpl {
org
.
objectweb
.
joram
.
shared
.
messages
.
Message
msg
;
long
currentTimeMillis
=
System
.
currentTimeMillis
();
for
(
Enum
erat
ion
msgs
=
not
.
getMessages
().
elements
();
msgs
.
has
MoreElements
();)
{
msg
=
(
org
.
objectweb
.
joram
.
shared
.
messages
.
Message
)
msgs
.
next
Element
();
for
(
It
erat
or
msgs
=
not
.
getMessages
().
iterator
();
msgs
.
has
Next
();)
{
msg
=
(
org
.
objectweb
.
joram
.
shared
.
messages
.
Message
)
msgs
.
next
();
long
scheduleDate
=
getScheduleDate
(
msg
);
// If there is no schedule date or if it is outdated do nothing.
if
(
scheduleDate
<
currentTimeMillis
)
return
;
...
...
joram/src/org/objectweb/joram/mom/dest/jmsbridge/JMSBridgeQueueImpl.java
View file @
b2412358
/*
* JORAM: Java(TM) Open Reliable Asynchronous Messaging
* Copyright (C) 2004 - 200
8
ScalAgent Distributed Technologies
* Copyright (C) 2004 - 20
1
0 ScalAgent Distributed Technologies
* Copyright (C) 2003 - 2004 Bull SA
*
* This library is free software; you can redistribute it and/or
...
...
@@ -25,6 +25,7 @@ package org.objectweb.joram.mom.dest.jmsbridge;
import
java.util.Enumeration
;
import
java.util.Hashtable
;
import
java.util.Iterator
;
import
java.util.Properties
;
import
java.util.Vector
;
...
...
@@ -241,9 +242,8 @@ public class JMSBridgeQueueImpl extends QueueImpl {
// Sending each message:
Message
message
;
for
(
Enumeration
msgs
=
not
.
getMessages
().
elements
();
msgs
.
hasMoreElements
();)
{
message
=
new
Message
((
org
.
objectweb
.
joram
.
shared
.
messages
.
Message
)
msgs
.
nextElement
());
for
(
Iterator
msgs
=
not
.
getMessages
().
iterator
();
msgs
.
hasNext
();)
{
message
=
new
Message
((
org
.
objectweb
.
joram
.
shared
.
messages
.
Message
)
msgs
.
next
());
message
.
order
=
arrivalsCounter
++;
outTable
.
put
(
message
.
getIdentifier
(),
message
);
...
...
joram/src/org/objectweb/joram/mom/dest/jmsbridge/JMSBridgeTopicImpl.java
View file @
b2412358
/*
* JORAM: Java(TM) Open Reliable Asynchronous Messaging
* Copyright (C) 2004 - 200
8
ScalAgent Distributed Technologies
* Copyright (C) 2004 - 20
1
0 ScalAgent Distributed Technologies
* Copyright (C) 2003 - 2004 Bull SA
*
* This library is free software; you can redistribute it and/or
...
...
@@ -25,6 +25,7 @@ package org.objectweb.joram.mom.dest.jmsbridge;
import
java.util.Enumeration
;
import
java.util.Hashtable
;
import
java.util.Iterator
;
import
java.util.Properties
;
import
java.util.Vector
;
...
...
@@ -208,9 +209,9 @@ public class JMSBridgeTopicImpl extends TopicImpl {
// Sending the received messages to the foreign JMS destination:
Message
message
;
DMQManager
dmqManager
=
null
;
for
(
Enum
erat
ion
msgs
=
not
.
messages
.
getMessages
().
elements
();
msgs
.
has
MoreElements
();)
{
for
(
It
erat
or
msgs
=
not
.
messages
.
getMessages
().
iterator
();
msgs
.
has
Next
();)
{
// AF: TODO it seems not useful to transform the message !!
message
=
new
Message
((
org
.
objectweb
.
joram
.
shared
.
messages
.
Message
)
msgs
.
next
Element
());
message
=
new
Message
((
org
.
objectweb
.
joram
.
shared
.
messages
.
Message
)
msgs
.
next
());
message
.
order
=
arrivalsCounter
++;
outTable
.
put
(
message
.
getIdentifier
(),
message
);
...
...
@@ -248,8 +249,8 @@ public class JMSBridgeTopicImpl extends TopicImpl {
// Sending the received messages to the foreign JMS destination:
Message
message
;
DMQManager
dmqManager
=
null
;
for
(
Enum
erat
ion
msgs
=
not
.
getMessages
().
elements
();
msgs
.
has
MoreElements
();)
{
message
=
new
Message
((
org
.
objectweb
.
joram
.
shared
.
messages
.
Message
)
msgs
.
next
Element
());
for
(
It
erat
or
msgs
=
not
.
getMessages
().
iterator
();
msgs
.
has
Next
();)
{
message
=
new
Message
((
org
.
objectweb
.
joram
.
shared
.
messages
.
Message
)
msgs
.
next
());
message
.
order
=
arrivalsCounter
++;
outTable
.
put
(
message
.
getIdentifier
(),
message
);
...
...
joram/src/org/objectweb/joram/mom/notifications/ClientMessages.java
View file @
b2412358
/*
* JORAM: Java(TM) Open Reliable Asynchronous Messaging
* Copyright (C) 2001 - 200
6
ScalAgent Distributed Technologies
* Copyright (C) 2001 - 20
1
0 ScalAgent Distributed Technologies
* Copyright (C) 1996 - 2000 Dyade
*
* This library is free software; you can redistribute it and/or
...
...
@@ -23,8 +23,9 @@
*/
package
org.objectweb.joram.mom.notifications
;
import
java.util.ArrayList
;
import
java.util.Iterator
;
import
java.util.
Vector
;
import
java.util.
List
;
import
org.objectweb.joram.shared.messages.Message
;
...
...
@@ -41,7 +42,7 @@ public class ClientMessages extends AbstractRequest {
/** Message sent by the client. */
private
Message
message
=
null
;
/** Messages sent by the client. */
private
Vector
messages
=
null
;
private
List
messages
=
null
;
private
boolean
asyncSend
;
...
...
@@ -76,7 +77,7 @@ public class ClientMessages extends AbstractRequest {
* @param requestId Request identifier.
* @param messages Vector of messages.
*/
public
ClientMessages
(
int
clientContext
,
int
requestId
,
Vector
messages
)
{
public
ClientMessages
(
int
clientContext
,
int
requestId
,
List
messages
)
{
super
(
clientContext
,
requestId
);
if
(
messages
.
size
()
==
1
)
{
this
.
message
=
(
Message
)
messages
.
get
(
0
);
...
...
@@ -114,7 +115,7 @@ public class ClientMessages extends AbstractRequest {
this
.
setPriority
(
message
.
priority
);
}
else
{
if
(
messages
==
null
)
{
messages
=
new
Vector
();
messages
=
new
ArrayList
();
messages
.
add
(
this
.
message
);
message
=
null
;
}
...
...
@@ -138,9 +139,9 @@ public class ClientMessages extends AbstractRequest {
/** Returns the messages. */
public
Vector
getMessages
()
{
public
List
getMessages
()
{
if
(
messages
==
null
)
{
messages
=
new
Vector
();
messages
=
new
ArrayList
();
if
(
message
!=
null
)
messages
.
add
(
message
);
}
...
...
@@ -155,6 +156,18 @@ public class ClientMessages extends AbstractRequest {
return
asyncSend
;
}
public
int
getMessageCount
()
{
if
(
messages
==
null
)
{
if
(
message
==
null
)
{
return
0
;
}
else
{
return
1
;
}
}
else
{
return
messages
.
size
();
}
}
/**
* Returns the identifier of the producer's dead message queue, if any.
* Basically, it simply calls {@link #getDeadNotificationAgentId()}
...
...
joram/src/org/objectweb/joram/mom/notifications/TopicMsgsReply.java
View file @
b2412358
/*
* JORAM: Java(TM) Open Reliable Asynchronous Messaging
* Copyright (C) 2001 - 200
6
ScalAgent Distributed Technologies
* Copyright (C) 2001 - 20
1
0 ScalAgent Distributed Technologies
* Copyright (C) 1996 - 2000 Dyade
*
* This library is free software; you can redistribute it and/or
...
...
@@ -24,7 +24,7 @@
package
org.objectweb.joram.mom.notifications
;
import
java.util.Iterator
;
import
java.util.
Vector
;
import
java.util.
List
;
import
org.objectweb.joram.shared.messages.Message
;
...
...
@@ -39,15 +39,16 @@ public class TopicMsgsReply extends AbstractReply {
*
*/
private
static
final
long
serialVersionUID
=
1L
;
/** Vector of messages. */
private
Vector
messages
;
private
List
messages
;
/**
* Constructs a <code>TopicMsgsReply</code>.
*
* @param messages
Vector
of delivered messages.
* @param messages
List
of delivered messages.
*/
public
TopicMsgsReply
(
Vector
messages
)
{
public
TopicMsgsReply
(
List
messages
)
{
long
newExpiration
=
-
1L
;
int
newPriority
=
0
;
for
(
Iterator
iterator
=
messages
.
iterator
();
iterator
.
hasNext
();)
{
...
...
@@ -66,7 +67,7 @@ public class TopicMsgsReply extends AbstractReply {
/** Returns the messages. */
public
Vector
getMessages
()
{
public
List
getMessages
()
{
return
messages
;
}
...
...
joram/src/org/objectweb/joram/mom/proxies/ClientSubscription.java
View file @
b2412358
...
...
@@ -26,8 +26,11 @@ import java.io.IOException;
import
java.io.ObjectInputStream
;
import
java.io.ObjectOutputStream
;
import
java.io.Serializable
;
import
java.util.ArrayList
;
import
java.util.Enumeration
;
import
java.util.Hashtable
;
import
java.util.Iterator
;
import
java.util.List
;
import
java.util.Vector
;
import
javax.management.openmbean.CompositeData
;
...
...
@@ -476,15 +479,15 @@ class ClientSubscription implements ClientSubscriptionMBean, Serializable {
*/
// AF: TODO we should parse each message for each subscription
// see ProxyImpl.doFwd
void
browseNewMessages
(
Vector
newMessages
)
{
void
browseNewMessages
(
List
newMessages
)
{
if
(
logger
.
isLoggable
(
BasicLevel
.
DEBUG
))
logger
.
log
(
BasicLevel
.
DEBUG
,
this
+
".browseNewMessages("
+
newMessages
+
')'
);
// Browsing the messages one by one.
Message
message
;
String
msgId
;
DMQManager
dmqManager
=
null
;
for
(
Enum
erat
ion
e
=
newMessages
.
elements
();
e
.
has
MoreElements
();)
{
message
=
(
Message
)
e
.
next
Element
();
for
(
It
erat
or
e
=
newMessages
.
iterator
();
e
.
has
Next
();)
{
message
=
(
Message
)
e
.
next
();
msgId
=
message
.
getIdentifier
();
// test nbMaxMsg
...
...
joram/src/org/objectweb/joram/mom/proxies/ProxyImpl.java
View file @
b2412358
...
...
@@ -28,8 +28,11 @@ package org.objectweb.joram.mom.proxies;
import
java.io.IOException
;
import
java.io.ObjectInputStream
;
import
java.io.ObjectOutputStream
;
import
java.util.ArrayList
;
import
java.util.Enumeration
;
import
java.util.Hashtable
;
import
java.util.Iterator
;
import
java.util.List
;
import
java.util.Vector
;
import
org.objectweb.joram.mom.dest.AdminTopic
;
...
...
@@ -122,9 +125,7 @@ import org.objectweb.joram.shared.excepts.StateException;
import
org.objectweb.util.monolog.api.BasicLevel
;
import
org.objectweb.util.monolog.api.Logger
;
import
fr.dyade.aaa.agent.Agent
;
import
fr.dyade.aaa.agent.AgentId
;
import
fr.dyade.aaa.agent.AgentServer
;
import
fr.dyade.aaa.agent.Channel
;
import
fr.dyade.aaa.agent.DeleteNot
;
import
fr.dyade.aaa.agent.Notification
;
...
...
@@ -1955,10 +1956,9 @@ public class ProxyImpl implements java.io.Serializable, ProxyImplMBean {
// AF: TODO we should parse each message for each subscription
// see ClientSubscription.browseNewMessages
Vector
messages
=
new
Vector
();
for
(
Enumeration
msgs
=
rep
.
getMessages
().
elements
();
msgs
.
hasMoreElements
();)
{
Message
message
=
new
Message
((
org
.
objectweb
.
joram
.
shared
.
messages
.
Message
)
msgs
.
nextElement
());
List
messages
=
new
ArrayList
();
for
(
Iterator
msgs
=
rep
.
getMessages
().
iterator
();
msgs
.
hasNext
();)
{
Message
message
=
new
Message
((
org
.
objectweb
.
joram
.
shared
.
messages
.
Message
)
msgs
.
next
());
// Setting the arrival order of the messages
message
.
order
=
arrivalsCounter
++;
messages
.
add
(
message
);
...
...
@@ -1974,8 +1974,8 @@ public class ProxyImpl implements java.io.Serializable, ProxyImplMBean {
}
// Save message if it is delivered to a durable subscription.
for
(
Enum
erat
ion
msgs
=
messages
.
elements
();
msgs
.
has
MoreElements
();)
{
Message
message
=
(
Message
)
msgs
.
next
Element
();
for
(
It
erat
or
msgs
=
messages
.
iterator
();
msgs
.
has
Next
();)
{
Message
message
=
(
Message
)
msgs
.
next
();
if
(
message
.
durableAcksCounter
>
0
)
{
if
(
logger
.
isLoggable
(
BasicLevel
.
DEBUG
))
...
...
@@ -2143,9 +2143,9 @@ public class ProxyImpl implements java.io.Serializable, ProxyImplMBean {
// Sending the messages again if not coming from the default DMQ:
if
(
QueueImpl
.
getDefaultDMQId
()
!=
null
&&
!
agId
.
equals
(
QueueImpl
.
getDefaultDMQId
()))
{
DMQManager
dmqManager
=
new
DMQManager
(
dmqId
,
null
);
Enum
erat
ion
msgs
=
((
ClientMessages
)
req
).
getMessages
().
elements
();
while
(
msgs
.
has
MoreElements
())
{
org
.
objectweb
.
joram
.
shared
.
messages
.
Message
msg
=
(
org
.
objectweb
.
joram
.
shared
.
messages
.
Message
)
msgs
.
next
Element
();
It
erat
or
msgs
=
((
ClientMessages
)
req
).
getMessages
().
iterator
();
while
(
msgs
.
has
Next
())
{
org
.
objectweb
.
joram
.
shared
.
messages
.
Message
msg
=
(
org
.
objectweb
.
joram
.
shared
.
messages
.
Message
)
msgs
.
next
();
nbMsgsSentToDMQSinceCreation
++;
dmqManager
.
addDeadMessage
(
msg
,
MessageErrorConstants
.
DELETED_DEST
);
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment