Guys,

I've just comleted ESME-321: Get rid of deprecated methods. Among other
deprecation warnings, there were two I'd like to mention about:

1) Case class FetchFeed had two subclasses: FetchAtom and FetchRss in
Action.scala. Since 2.8 version Scala compiler consider it as unduly
complicating both usage and implementation and suggests use extractors for
pattern matching on non-leaf nodes instead. See
http://scala-programming-language.1934581.n4.nabble.com/Adding-an-extractor-to-an-object-to-behave-like-a-case-object-td1950373.html
for
more details. Therefore FetchFeed class was rewritten as follows:

Before modification:

case class FetchFeed(url: UrlStore, tags: List[String]) extends Performances

After modification:

object FetchFeed extends ((UrlStore, List[String]) => FetchFeed) {
  def unapply(f: FetchFeed): Option[(UrlStore, List[String])] = {
    Some(f.url, f.tags)
  }
  def apply(url: UrlStore, tags: List[String]) = new FetchFeed(url, tags)
}

class FetchFeed(val url: UrlStore, val tags: List[String]) extends
Performances {
  override def hashCode = 41 * (41 + url.hashCode) + tags.hashCode
  override def equals(other: Any) = other match {
    case that: FetchFeed => (that canEqual this) && super.equals(that) &&
this.url == that.url && this.tags == that.tags
    case _ => false
  }
  def canEqual(other: Any) = other.isInstanceOf[FetchFeed]
  def copy(url1: UrlStore = url, tags1: List[String] = tags) = new
FetchFeed(url1, tags1)
}

FetchAtom and FetchFeed case classes were left unchanged:

case class FetchAtom(override val url: UrlStore, override val tags:
List[String]) extends FetchFeed(url, tags)
case class FetchRss(override val url: UrlStore, override val tags:
List[String]) extends FetchFeed(url, tags)

2) Method Either.merge used to extract value from Either in TwitterAPI.scala
has been deprecated in Scala 2.8. I replaced it with Either.MergeableEither
class:

Before modification:

Either.merge(...)

After modification:

new Either.MergeableEither(...).merge


As always it would be great if someone review these changes.

Vladimir



2011/5/2 Richard Hirsch <[email protected]>

> I was looking at the looking at 1.3 status this morning and I have a
> few questions:
>
> @Ethan - can we close ESME-328 "Rewrite the comet timeline"?
>
> @Vladimir is "ESME-332 "There are still some problems with SBT tests"
> still valid after the SBT upgrade?
>
> @Vladimir can we close "ESME-321 Get rid of deprecated methods"? I
> wasn't sure how many deprecated methods will still present.
>
> D.
>



-- 
Best Regards,
Vladimir Ivanov

Reply via email to