From 092c74a047df45695a2db0bb769ecd87b8092fce Mon Sep 17 00:00:00 2001 From: Steve Muir Date: Sat, 26 Apr 2014 14:24:18 -0400 Subject: [PATCH 1/4] Move SiriusFactory to root package --- .../com/comcast/xfinity/sirius/{api/impl => }/SiriusFactory.scala | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/main/scala/com/comcast/xfinity/sirius/{api/impl => }/SiriusFactory.scala (100%) diff --git a/src/main/scala/com/comcast/xfinity/sirius/api/impl/SiriusFactory.scala b/src/main/scala/com/comcast/xfinity/sirius/SiriusFactory.scala similarity index 100% rename from src/main/scala/com/comcast/xfinity/sirius/api/impl/SiriusFactory.scala rename to src/main/scala/com/comcast/xfinity/sirius/SiriusFactory.scala From d7967d5705160da66f376166a9b0861b75a91123 Mon Sep 17 00:00:00 2001 From: Steve Muir Date: Sat, 26 Apr 2014 14:35:34 -0400 Subject: [PATCH 2/4] Cleanup SiriusFactory Make the cosmetic changes necessary when moving SiriusFactory into the top-level com.comcast.xfinity.sirius package, out of the api.impl subpackage. --- .../xfinity/sirius/SiriusFactory.scala | 24 ++++++++++++------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/src/main/scala/com/comcast/xfinity/sirius/SiriusFactory.scala b/src/main/scala/com/comcast/xfinity/sirius/SiriusFactory.scala index 89ce81a6..00af9662 100644 --- a/src/main/scala/com/comcast/xfinity/sirius/SiriusFactory.scala +++ b/src/main/scala/com/comcast/xfinity/sirius/SiriusFactory.scala @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.comcast.xfinity.sirius.api.impl +package com.comcast.xfinity.sirius import java.io.File import java.lang.management.ManagementFactory @@ -22,7 +22,9 @@ import java.util.{HashMap => JHashMap} import com.comcast.xfinity.sirius.admin.ObjectNameHelper import com.comcast.xfinity.sirius.api.RequestHandler +import com.comcast.xfinity.sirius.api.Sirius import com.comcast.xfinity.sirius.api.SiriusConfiguration +import com.comcast.xfinity.sirius.api.impl.SiriusImpl import com.comcast.xfinity.sirius.info.SiriusInfo import com.comcast.xfinity.sirius.writeaheadlog.CachedSiriusLog import com.comcast.xfinity.sirius.writeaheadlog.SiriusLog @@ -40,23 +42,27 @@ import scala.collection.JavaConverters._ import org.slf4j.LoggerFactory /** - * Provides the factory for [[com.comcast.xfinity.sirius.api.impl.SiriusImpl]] instances + * Provides the factory for [[com.comcast.xfinity.sirius.api.Sirius]] instances */ object SiriusFactory { val traceLog = LoggerFactory.getLogger("SiriusFactory") /** - * SiriusImpl factory method, takes parameters to construct a SiriusImplementation and the dependent - * ActorSystem and return the created instance. Calling shutdown on the produced SiriusImpl will also - * shutdown the dependent ActorSystem. + * Sirius factory method, constructs a SiriusImplementation and the + * dependent ActorSystem and return the created instance. Calling + * shutdown on the produced Sirius will also shutdown the dependent + * ActorSystem. * - * @param requestHandler the RequestHandler containing callbacks for manipulating the system's state - * @param siriusConfig a SiriusConfiguration containing configuration info needed for this node. + * @param requestHandler the RequestHandler containing callbacks for + * manipulating the system's state + * @param siriusConfig a SiriusConfiguration containing configuration + * info needed for this node. * @see SiriusConfiguration for info on needed config. * - * @return A SiriusImpl constructed using the parameters + * @return A Sirius (interface) constructed using the parameters */ - def createInstance(requestHandler: RequestHandler, siriusConfig: SiriusConfiguration): SiriusImpl = { + def createInstance(requestHandler: RequestHandler, + siriusConfig: SiriusConfiguration): Sirius = { val uberStoreDir = siriusConfig.getProp[String](SiriusConfiguration.LOG_LOCATION) match { case Some(dir) => dir case None => From 2831375aa24c1f62cae57861bfcad30f0ea6c18c Mon Sep 17 00:00:00 2001 From: Steve Muir Date: Sat, 26 Apr 2014 14:42:59 -0400 Subject: [PATCH 3/4] Import cleanup --- .../com/comcast/xfinity/sirius/itest/FullSystemITest.scala | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/test/scala/com/comcast/xfinity/sirius/itest/FullSystemITest.scala b/src/test/scala/com/comcast/xfinity/sirius/itest/FullSystemITest.scala index 3a3e5e0f..34a67e1d 100644 --- a/src/test/scala/com/comcast/xfinity/sirius/itest/FullSystemITest.scala +++ b/src/test/scala/com/comcast/xfinity/sirius/itest/FullSystemITest.scala @@ -22,13 +22,11 @@ import com.comcast.xfinity.sirius.writeaheadlog.SiriusLog import java.io.File import com.comcast.xfinity.sirius.api.impl._ import util.Random -import com.comcast.xfinity.sirius.api.impl.OrderedEvent -import scala.Some -import scala.Tuple2 import java.util.UUID import com.comcast.xfinity.sirius.uberstore.UberStore import com.comcast.xfinity.sirius.api.impl.SiriusSupervisor.CheckPaxosMembership import annotation.tailrec +import com.comcast.xfinity.sirius.SiriusFactory import com.comcast.xfinity.sirius.api.{SiriusResult, RequestHandler, SiriusConfiguration} import com.comcast.xfinity.sirius.api.impl.membership.MembershipActor.CheckClusterConfig import org.slf4j.LoggerFactory From 68cea70e8627b94d705f3aac4cbafbcda29e72dd Mon Sep 17 00:00:00 2001 From: Steve Muir Date: Sat, 26 Apr 2014 14:45:52 -0400 Subject: [PATCH 4/4] Compatibility wrapper Create a wrapper class that delegates factory method calls to the relocated SiriusFactory object. --- .../sirius/api/impl/SiriusFactory.scala | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 src/main/scala/com/comcast/xfinity/sirius/api/impl/SiriusFactory.scala diff --git a/src/main/scala/com/comcast/xfinity/sirius/api/impl/SiriusFactory.scala b/src/main/scala/com/comcast/xfinity/sirius/api/impl/SiriusFactory.scala new file mode 100644 index 00000000..1b2471be --- /dev/null +++ b/src/main/scala/com/comcast/xfinity/sirius/api/impl/SiriusFactory.scala @@ -0,0 +1,39 @@ +/* + * Copyright 2012-2014 Comcast Cable Communications Management, LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.comcast.xfinity.sirius.api.impl + +import com.comcast.xfinity.sirius.{SiriusFactory => NewFactory} +import com.comcast.xfinity.sirius.api.RequestHandler +import com.comcast.xfinity.sirius.api.SiriusConfiguration +import com.comcast.xfinity.sirius.writeaheadlog.SiriusLog + +/** + * Compatibility wrapper for factory method now in top-level sirius package. + * Since the three-arg testing method was intended to only be used for internal + * testing it has not been wrapped. + */ +object SiriusFactory { + + /** + * Deprecated - see [[com.comcast.xfinity.sirius.SiriusFactory]] + */ + @deprecated("see top-level SiriusFactory object", "1.2.0") + def createInstance(requestHandler: RequestHandler, + siriusConfig: SiriusConfiguration): SiriusImpl = { + val res = NewFactory.createInstance(requestHandler, siriusConfig) + res.asInstanceOf[SiriusImpl] + } +}