Vassil, I've just updated and tested RSS feed action with:
Test=every 1 mins Action=rss: http://issues.apache.org/jira/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?pid=12310850&reporterSelect=specificuser&reporter=esjewett&sorter/field=issuekey&sorter/order=DESC&tempMax=1000 Fetching feeds seems work for me. Vladimir 2011/5/14 Vassil Dichev <[email protected]> > Hi Vladimir, > > After ensuring that the necessary parts were there when replacing the > deprecated stuff, I had more time to check if we can remove some > superfluous stuff: > > 1. Regarding MergeableEither, we can remove the explicit "new > MergeableEither" instantiation since any Either is converted > implicitly to a MergeableEither when you use the merge method. > > 2. The FetchFeed was working great, but it had many superfluous > methods like hashCode and equals. Why maintain them when they are > generated automatically in the case classes and all we need is the > extractor? Therefore I've only left the unapply method in "object > FetchFeed". I also made class FetchFeed abstract- we don't have any > FetchFeed instantiations and it doesn't make much sense if it's not a > more specific instance (although it would have worked even if it > wasn't abstract). > > Have a nice weekend! > Vassil > > P.S. Fetching feeds doesn't seem to work for me right now, but the > reason must be somewhere else, because I've checked that pattern > matching works. Does anyone else experience the same problem? > > > On Mon, May 9, 2011 at 2:07 AM, Vladimir Ivanov <[email protected]> > wrote: > > Thanks for review, Vassil! > > > > Vladimir > > > > 2011/5/8 Vassil Dichev <[email protected]> > > > >> Vladimir, > >> > >> Nice work- looks good! I've also learned a couple of things from the > >> deprecation analysis. > >> > >> Cheers, > >> Vassil > >> > >> > >> On Sun, May 8, 2011 at 3:54 AM, Vladimir Ivanov <[email protected]> > >> wrote: > >> > 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 > >> > > >> > > > > > > > > -- > > Best Regards, > > Vladimir Ivanov > > > -- Best Regards, Vladimir Ivanov
