Skip to content

Commit 69b20b7

Browse files
committed
Merge branch 'Issue-2274'
2 parents 54bb452 + 78c16ea commit 69b20b7

79 files changed

Lines changed: 2052 additions & 1668 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

restcomm/restcomm.application/src/main/java/org/restcomm/connect/application/Bootstrapper.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ private MediaServerControllerFactory mediaServerControllerFactory(final Configur
7878
try {
7979
settings = configuration.subset("media-server-manager");
8080
ActorRef mrb = mediaResourceBroker(settings, storage, loader);
81-
factory = new MmsControllerFactory(system, mrb);
81+
factory = new MmsControllerFactory(mrb);
8282
} catch (UnknownHostException e) {
8383
throw new ServletException(e);
8484
}
@@ -98,7 +98,7 @@ private MediaServerControllerFactory mediaServerControllerFactory(final Configur
9898
// Create JSR 309 factory
9999
MsControlFactory msControlFactory = driver.getFactory(properties);
100100
MediaServerInfo mediaServerInfo = mediaServerInfo(settings);
101-
factory = new Jsr309ControllerFactory(system, mediaServerInfo, msControlFactory);
101+
factory = new Jsr309ControllerFactory(mediaServerInfo, msControlFactory);
102102
} catch (UnknownHostException | MsControlException e) {
103103
throw new ServletException(e);
104104
}

restcomm/restcomm.asr/src/main/java/org/restcomm/connect/asr/ISpeechAsr.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,23 +20,22 @@
2020
package org.restcomm.connect.asr;
2121

2222
import akka.actor.ActorRef;
23-
import akka.actor.UntypedActor;
24-
2523
import com.iSpeech.SpeechResult;
2624
import com.iSpeech.iSpeechRecognizer;
27-
import static com.iSpeech.iSpeechRecognizer.*;
2825
import com.iSpeech.iSpeechRecognizer.SpeechRecognizerEvent;
26+
import org.apache.commons.configuration.Configuration;
27+
import org.restcomm.connect.commons.faulttolerance.RestcommUntypedActor;
2928

3029
import java.io.File;
3130
import java.util.HashMap;
3231
import java.util.Map;
3332

34-
import org.apache.commons.configuration.Configuration;
33+
import static com.iSpeech.iSpeechRecognizer.FREEFORM_DICTATION;
3534

3635
/**
3736
* @author quintana.thomas@gmail.com (Thomas Quintana)
3837
*/
39-
public final class ISpeechAsr extends UntypedActor implements SpeechRecognizerEvent {
38+
public final class ISpeechAsr extends RestcommUntypedActor implements SpeechRecognizerEvent {
4039
private static final Map<String, String> languages = new HashMap<String, String>();
4140
static {
4241
languages.put("en", "en-US");

restcomm/restcomm.commons/src/main/java/org/restcomm/connect/commons/cache/DiskCache.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,12 @@
2020
package org.restcomm.connect.commons.cache;
2121

2222
import akka.actor.ActorRef;
23-
import akka.actor.UntypedActor;
2423
import akka.event.Logging;
2524
import akka.event.LoggingAdapter;
2625
import org.apache.commons.io.FileUtils;
2726
import org.apache.commons.lang.StringUtils;
2827
import org.apache.shiro.crypto.hash.Sha256Hash;
28+
import org.restcomm.connect.commons.faulttolerance.RestcommUntypedActor;
2929

3030
import java.io.File;
3131
import java.io.FileNotFoundException;
@@ -39,7 +39,7 @@
3939
/**
4040
* @author quintana.thomas@gmail.com (Thomas Quintana)
4141
*/
42-
public final class DiskCache extends UntypedActor {
42+
public final class DiskCache extends RestcommUntypedActor {
4343
// Logger.
4444
private final LoggingAdapter logger = Logging.getLogger(getContext().system(), this);
4545

restcomm/restcomm.commons/src/main/java/org/restcomm/connect/commons/faulttolerance/RestcommSupervisorStrategy.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,21 @@ public class RestcommSupervisorStrategy implements SupervisorStrategyConfigurato
2020

2121
private static Logger logger = Logger.getLogger(RestcommSupervisorStrategy.class);
2222

23-
final SupervisorStrategy.Directive strategy = resume();
23+
static final SupervisorStrategy.Directive strategy = resume();
2424

25-
RestcommFaultToleranceStrategy defaultStrategy = new RestcommFaultToleranceStrategy(10, Duration.create("1 minute"),
25+
static RestcommFaultToleranceStrategy defaultStrategy = new RestcommFaultToleranceStrategy(10, Duration.create("1 minute"),
2626
new RestcommFaultToleranceDecider());
2727

2828
@Override
2929
public SupervisorStrategy create() {
3030
return defaultStrategy;
3131
}
3232

33-
private class RestcommFaultToleranceStrategy extends OneForOneStrategy {
33+
public static SupervisorStrategy getStrategy() {
34+
return defaultStrategy;
35+
}
36+
37+
private static class RestcommFaultToleranceStrategy extends OneForOneStrategy {
3438

3539
public RestcommFaultToleranceStrategy(int maxNrOfRetries, Duration withinTimeRange, Function<Throwable, Directive> function) {
3640
super(maxNrOfRetries, withinTimeRange, function);
@@ -51,7 +55,7 @@ public boolean handleFailure(ActorContext context, ActorRef child, Throwable cau
5155
// }
5256
}
5357

54-
private class RestcommFaultToleranceDecider implements Function<Throwable, SupervisorStrategy.Directive> {
58+
private static class RestcommFaultToleranceDecider implements Function<Throwable, SupervisorStrategy.Directive> {
5559

5660
@Override
5761
// - 2nd the Supervisor strategy will execute the Decider apply() to check what to do with the exception
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
/*
2+
* TeleStax, Open Source Cloud Communications
3+
* Copyright 2011-2014, Telestax Inc and individual contributors
4+
* by the @authors tag.
5+
*
6+
* This program is free software: you can redistribute it and/or modify
7+
* under the terms of the GNU Affero General Public License as
8+
* published by the Free Software Foundation; either version 3 of
9+
* the License, or (at your option) any later version.
10+
*
11+
* This program is distributed in the hope that it will be useful,
12+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14+
* GNU Affero General Public License for more details.
15+
*
16+
* You should have received a copy of the GNU Affero General Public License
17+
* along with this program. If not, see <http://www.gnu.org/licenses/>
18+
*
19+
*/
20+
21+
package org.restcomm.connect.commons.faulttolerance;
22+
23+
import akka.actor.SupervisorStrategy;
24+
import akka.actor.UntypedActor;
25+
26+
/**
27+
* @author oleg.agafonov@telestax.com (Oleg Agafonov)
28+
*/
29+
public abstract class RestcommUntypedActor extends UntypedActor {
30+
31+
@Override
32+
public SupervisorStrategy supervisorStrategy() {
33+
return RestcommSupervisorStrategy.getStrategy();
34+
}
35+
}

restcomm/restcomm.commons/src/test/java/org/restcomm/connect/commons/faulttolerance/SupervisorActorCreationStressTest.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,7 @@
1616
import org.junit.Test;
1717
import org.restcomm.connect.commons.faulttolerance.tool.ActorCreatingThread;
1818

19-
import akka.actor.ActorRef;
2019
import akka.actor.ActorSystem;
21-
import akka.actor.Props;
2220

2321
/**
2422
* @author mariafarooq
@@ -46,7 +44,7 @@ public static void beforeClass() throws Exception {
4644
actorFailureCount = new AtomicInteger();
4745
}
4846

49-
@Test
47+
@Test
5048
public void testCreateSampleAkkaActor() throws ConfigurationException, MalformedURLException, UnknownHostException, InterruptedException {
5149
ExecutorService executor = Executors.newFixedThreadPool(nThreads);
5250
for (int i = 0; i < THREAD_COUNT; i++) {

restcomm/restcomm.commons/src/test/java/org/restcomm/connect/commons/faulttolerance/tool/MyUntypedActor.java

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,22 @@
11
package org.restcomm.connect.commons.faulttolerance.tool;
22

3-
import static akka.pattern.Patterns.ask;
4-
5-
import java.util.concurrent.TimeUnit;
6-
7-
import akka.actor.ActorSystem;
8-
import org.restcomm.connect.commons.faulttolerance.SupervisorActorCreationStressTest;
9-
103
import akka.actor.ActorRef;
4+
import akka.actor.ActorSystem;
115
import akka.actor.Props;
126
import akka.actor.UntypedActor;
137
import akka.actor.UntypedActorFactory;
148
import akka.event.Logging;
159
import akka.event.LoggingAdapter;
16-
import scala.concurrent.Await;
17-
import scala.concurrent.duration.Duration;
10+
import org.restcomm.connect.commons.faulttolerance.RestcommUntypedActor;
11+
import org.restcomm.connect.commons.faulttolerance.SupervisorActorCreationStressTest;
1812

1913
/**
2014
* MyUntypedActor represent a restcomm-connect class that request supervisor to create actor for it
2115
*
2216
* @author mariafarooq
2317
*
2418
*/
25-
public class MyUntypedActor extends UntypedActor {
19+
public class MyUntypedActor extends RestcommUntypedActor {
2620
private LoggingAdapter logger = Logging.getLogger(getContext().system(), this);
2721

2822
private final ActorSystem system;

restcomm/restcomm.commons/src/test/java/org/restcomm/connect/commons/faulttolerance/tool/SimpleActor.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
package org.restcomm.connect.commons.faulttolerance.tool;
22

3-
import akka.actor.UntypedActor;
3+
import org.restcomm.connect.commons.faulttolerance.RestcommUntypedActor;
44

55
/**
66
* SampleActor: a simple actor to be created
77
*
88
* @author mariafarooq
99
*
1010
*/
11-
public class SimpleActor extends UntypedActor {
11+
public class SimpleActor extends RestcommUntypedActor {
1212

1313
public SimpleActor(){
1414
}

restcomm/restcomm.commons/src/test/java/org/restcomm/connect/commons/patterns/ObserverPatternTest.java

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,20 +22,17 @@
2222
import akka.actor.ActorRef;
2323
import akka.actor.ActorSystem;
2424
import akka.actor.Props;
25-
import akka.actor.UntypedActor;
2625
import akka.testkit.JavaTestKit;
26+
import org.junit.AfterClass;
27+
import org.junit.BeforeClass;
28+
import org.junit.Test;
29+
import org.restcomm.connect.commons.faulttolerance.RestcommUntypedActor;
2730

2831
import java.util.ArrayList;
2932
import java.util.List;
3033

31-
import static org.junit.Assert.*;
32-
import org.junit.AfterClass;
33-
import org.junit.BeforeClass;
34-
import org.junit.Test;
35-
import org.restcomm.connect.commons.patterns.Observe;
36-
import org.restcomm.connect.commons.patterns.Observing;
37-
import org.restcomm.connect.commons.patterns.StopObserving;
38-
import org.restcomm.connect.commons.patterns.TooManyObserversException;
34+
import static org.junit.Assert.assertFalse;
35+
import static org.junit.Assert.assertTrue;
3936

4037
/**
4138
* @author thomas.quintana@telestax.com (Thomas Quintana)
@@ -108,7 +105,7 @@ public void testTooManyObserversException() {
108105
private static final class BroadcastHelloWorld {
109106
}
110107

111-
private static final class ObservableActor extends UntypedActor {
108+
private static final class ObservableActor extends RestcommUntypedActor {
112109
private final List<ActorRef> listeners;
113110

114111
@SuppressWarnings("unused")

restcomm/restcomm.email/src/main/java/org/restcomm/connect/email/EmailService.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,19 +20,20 @@
2020
package org.restcomm.connect.email;
2121

2222
import akka.actor.ActorRef;
23-
import akka.actor.UntypedActor;
2423
import akka.event.Logging;
2524
import akka.event.LoggingAdapter;
2625
import org.apache.commons.configuration.Configuration;
27-
import org.restcomm.connect.email.api.EmailRequest;
28-
import org.restcomm.connect.email.api.EmailResponse;
29-
import org.restcomm.connect.email.api.Mail;
26+
import org.restcomm.connect.commons.faulttolerance.RestcommUntypedActor;
3027
import org.restcomm.connect.commons.patterns.Observe;
3128
import org.restcomm.connect.commons.patterns.Observing;
3229
import org.restcomm.connect.commons.patterns.StopObserving;
30+
import org.restcomm.connect.email.api.EmailRequest;
31+
import org.restcomm.connect.email.api.EmailResponse;
32+
import org.restcomm.connect.email.api.Mail;
3333

3434
import javax.mail.Message;
3535
import javax.mail.MessagingException;
36+
import javax.mail.NoSuchProviderException;
3637
import javax.mail.PasswordAuthentication;
3738
import javax.mail.Session;
3839
import javax.mail.Transport;
@@ -41,13 +42,12 @@
4142
import java.util.ArrayList;
4243
import java.util.List;
4344
import java.util.Properties;
44-
import javax.mail.NoSuchProviderException;
4545

4646

4747
/**
4848
* @author liblefty@gmail.com (Lefteris Banos)
4949
*/
50-
public class EmailService extends UntypedActor {
50+
public class EmailService extends RestcommUntypedActor {
5151

5252
final LoggingAdapter logger = Logging.getLogger(getContext().system(), this);
5353
private final List<ActorRef> observers;

0 commit comments

Comments
 (0)