Skip to content

Commit d0a48b2

Browse files
refactor package structure
package object scala and package scala now can coexist
1 parent 05a79a8 commit d0a48b2

File tree

10 files changed

+61
-54
lines changed

10 files changed

+61
-54
lines changed

language-adaptors/rxjava-scala-java/src/main/java/rx/lang/scalaexamples/MovieLibUsage.java renamed to language-adaptors/rxjava-scala-java/src/main/java/rx/lang/scala/examples/MovieLibUsage.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package rx.lang.scalatests;
1+
package rx.lang.scala.examples;
22

33
import org.junit.Test;
44

language-adaptors/rxjava-scala/src/main/scala/rx/lang/scalaimpl/Observable.scala renamed to language-adaptors/rxjava-scala/src/main/scala/rx/lang/scala/Observable.scala

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,12 @@
1515
*/
1616

1717

18-
package rx.lang.scalaimpl
18+
package rx.lang.scala
1919

2020
import org.scalatest.junit.JUnitSuite
2121
import scala.collection.Seq
22+
import rx.lang.scala.observables.BlockingObservable
23+
import rx.lang.scala.observables.ConnectableObservable
2224

2325

2426
/**
@@ -35,7 +37,7 @@ class Observable[+T](val asJava: rx.Observable[_ <: T])
3537
import rx.{Observable => JObservable}
3638
import rx.lang.scala.{Notification, Subscription, Scheduler, Observer}
3739
import rx.lang.scala.util._
38-
import rx.lang.scalaimpl.ImplicitFunctionConversions._
40+
import rx.lang.scala.internal.ImplicitFunctionConversions._
3941

4042
/**
4143
* An {@link Observer} must call an Observable's {@code subscribe} method in order to
@@ -1438,15 +1440,15 @@ object Observable {
14381440
import rx.{Observable => JObservable}
14391441
import rx.lang.scala.{Notification, Subscription, Scheduler, Observer}
14401442
import rx.lang.scala.util._
1441-
import rx.lang.scalaimpl.ImplicitFunctionConversions._
1443+
import rx.lang.scala.internal.ImplicitFunctionConversions._
14421444

1443-
private[scalaimpl]
1445+
private[scala]
14441446
def jObsOfListToScObsOfSeq[T](jObs: rx.Observable[_ <: java.util.List[T]]): Observable[Seq[T]] = {
14451447
val oScala1: Observable[java.util.List[T]] = new Observable[java.util.List[T]](jObs)
14461448
oScala1.map((lJava: java.util.List[T]) => lJava.asScala)
14471449
}
14481450

1449-
private[scalaimpl]
1451+
private[scala]
14501452
def jObsOfJObsToScObsOfScObs[T](jObs: rx.Observable[_ <: rx.Observable[_ <: T]]): Observable[Observable[T]] = {
14511453
val oScala1: Observable[rx.Observable[_ <: T]] = new Observable[rx.Observable[_ <: T]](jObs)
14521454
oScala1.map((oJava: rx.Observable[_ <: T]) => new Observable[T](oJava))
@@ -1793,8 +1795,8 @@ object Observable {
17931795
// Cannot yet have inner class because of this error message:
17941796
// implementation restriction: nested class is not allowed in value class.
17951797
// This restriction is planned to be removed in subsequent releases.
1796-
class WithFilter[+T] private[scalaimpl] (p: T => Boolean, wrapped: rx.Observable[_ <: T]) {
1797-
import rx.lang.scalaimpl.ImplicitFunctionConversions._
1798+
class WithFilter[+T] private[scala] (p: T => Boolean, wrapped: rx.Observable[_ <: T]) {
1799+
import rx.lang.scala.internal.ImplicitFunctionConversions._
17981800

17991801
def map[B](f: T => B): Observable[B] = new Observable[B](wrapped.filter(p).map(f))
18001802
def flatMap[B](f: T => Observable[B]): Observable[B] = {
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package rx.lang.scala
2+
3+
import rx.concurrency.CurrentThreadScheduler
4+
5+
package object concurrency {
6+
/*
7+
TODO
8+
rx.concurrency.CurrentThreadScheduler
9+
rx.concurrency.ExecutorScheduler
10+
rx.concurrency.ImmediateScheduler
11+
rx.concurrency.NewThreadScheduler
12+
rx.concurrency.Schedulers
13+
rx.concurrency.TestScheduler
14+
*/
15+
16+
lazy val CurrentThreadScheduler = rx.concurrency.CurrentThreadScheduler.getInstance()
17+
18+
}

language-adaptors/rxjava-scala/src/main/scala/rx/lang/scalatests/MovieLib.scala renamed to language-adaptors/rxjava-scala/src/main/scala/rx/lang/scala/examples/MovieLib.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package rx.lang.scalatests
1+
package rx.lang.scala.examples
22

33
import rx.lang.scala.Observable
44

language-adaptors/rxjava-scala/src/main/scala/rx/lang/scalatests/RxScalaDemo.scala renamed to language-adaptors/rxjava-scala/src/main/scala/rx/lang/scala/examples/RxScalaDemo.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package rx.lang.scalatests
1+
package rx.lang.scala.examples
22

33
import org.scalatest.junit.JUnitSuite
44

language-adaptors/rxjava-scala/src/main/scala/rx/lang/scalaimpl/ImplicitFunctionConversions.scala renamed to language-adaptors/rxjava-scala/src/main/scala/rx/lang/scala/internal/ImplicitFunctionConversions.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
/*
33
* These function conversions are only used by the ScalaAdapter, users of RxScala don't need them.
44
*/
5-
package rx.lang.scalaimpl
5+
package rx.lang.scala.internal
66

77

88
import java.{lang => jlang}

language-adaptors/rxjava-scala/src/main/scala/rx/lang/scalaimpl/BlockingObservable.scala renamed to language-adaptors/rxjava-scala/src/main/scala/rx/lang/scala/observables/BlockingObservable.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package rx.lang.scalaimpl
1+
package rx.lang.scala.observables
22

33
import scala.collection.JavaConverters._
44

Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
package rx.lang.scalaimpl
1+
package rx.lang.scala.observables
22

33

44
class ConnectableObservable[+T](val asJava: rx.observables.ConnectableObservable[_ <: T]) extends AnyVal {
55
import rx.lang.scala._
66
import rx.lang.scala.util._
77
import rx.{Observable => JObservable}
8-
import rx.lang.scalaimpl.ImplicitFunctionConversions._
8+
import rx.lang.scala.internal.ImplicitFunctionConversions._
99

1010
}

language-adaptors/rxjava-scala/src/main/scala/rx/lang/scala.scala renamed to language-adaptors/rxjava-scala/src/main/scala/rx/lang/scala/package.scala

Lines changed: 1 addition & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,8 @@ package rx.lang
88
* e.g. rx.Notification[_ <: T], so we create aliases fixing the variance
99
* - For consistency, we create aliases for all types
1010
* - Type aliases cannot be at top level, they have to be inside an object or class
11-
* - It's possible to make a "package object" instead of "object", but if there's a
12-
* package with the same name as the package object, the gradle builder fails
13-
* (the eclipse builder works). Using -Yresolve-term-conflict:package
14-
* or -Yresolve-term-conflict:object as scalac options didn't help.
15-
* See also http://stackoverflow.com/questions/8984730/package-contains-object-and-package-with-same-name
1611
*/
17-
object scala {
12+
package object scala {
1813

1914
type Notification[+T] = rx.Notification[_ <: T]
2015
object Notification {
@@ -23,36 +18,9 @@ object scala {
2318
def apply[T](t: Throwable): Notification[T] = new rx.Notification(t)
2419
}
2520

26-
type Observable[+T] = rx.lang.scalaimpl.Observable[T]
27-
val Observable = rx.lang.scalaimpl.Observable
2821
type Observer[-T] = rx.Observer[_ >: T]
2922
type Scheduler = rx.Scheduler
3023
type Subscription = rx.Subscription
31-
32-
object util {
33-
type Closing = rx.util.Closing
34-
35-
// TODO rx.util.Closings
36-
37-
type CompositeException = rx.util.CompositeException
38-
39-
// TODO rx.util.Exceptions
40-
41-
// rx.util.OnErrorNotImplementedException TODO what's this?
42-
43-
type Opening = rx.util.Opening
44-
45-
// rx.util.Openings // TODO
46-
47-
// rx.util.Range // TODO do we need this? Or the Scala Range?
48-
49-
type Timestamped[+T] = rx.util.Timestamped[_ <: T]
50-
object Timestamped {
51-
def apply[T](timestampMillis: Long, value: T): Timestamped[T] = {
52-
new rx.util.Timestamped(timestampMillis, value)
53-
}
54-
}
55-
}
5624

5725
}
5826

@@ -62,13 +30,6 @@ TODO make aliases for these types because:
6230
* those which are covariant or contravariant do need an alias to get variance correct
6331
* the others for consistency
6432
65-
rx.concurrency.CurrentThreadScheduler
66-
rx.concurrency.ExecutorScheduler
67-
rx.concurrency.ImmediateScheduler
68-
rx.concurrency.NewThreadScheduler
69-
rx.concurrency.Schedulers
70-
rx.concurrency.TestScheduler
71-
7233
rx.observables.BlockingObservable
7334
rx.observables.ConnectableObservable
7435
rx.observables.GroupedObservable
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package rx.lang.scala
2+
3+
package object util {
4+
type Closing = rx.util.Closing
5+
6+
// TODO rx.util.Closings
7+
8+
type CompositeException = rx.util.CompositeException
9+
10+
// TODO rx.util.Exceptions
11+
12+
// rx.util.OnErrorNotImplementedException TODO what's this?
13+
14+
type Opening = rx.util.Opening
15+
16+
// rx.util.Openings // TODO
17+
18+
// rx.util.Range // TODO do we need this? Or the Scala Range?
19+
20+
type Timestamped[+T] = rx.util.Timestamped[_ <: T]
21+
object Timestamped {
22+
def apply[T](timestampMillis: Long, value: T): Timestamped[T] = {
23+
new rx.util.Timestamped(timestampMillis, value)
24+
}
25+
}
26+
}

0 commit comments

Comments
 (0)