incubator-esme-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Vladimir Ivanov <lester.m...@gmail.com>
Subject Re: Move to latest Lift release for 1.2
Date Sun, 12 Dec 2010 01:26:05 GMT
Concerining 'mvn test', I got one failure and one error:

Failed tests:
  Msg Parser Parse should Find a hash tag

Tests in error:
  API2 should /user/messages POST with valid session


2010/12/11 Richard Hirsch <hirsch.dick@gmail.com>

> What sort of problems are there for "mvn test" and "mvn jetty:run"?
>
> D.
>
> On Sat, Dec 11, 2010 at 4:45 PM, Ethan Jewett <esjewett@gmail.com> wrote:
> > Hi Vladimir,
> >
> > Thanks again for the changes. I have applied these changes and you
> > should see them show up in SVN at this point. And the commit and
> > message should show up on the ESME-313 ticket overnight.
> >
> > These changes do indeed fix all the compile-time issues! As you
> > suspected, we are still seeing runtime problems with "mvn test" and
> > "mvn jetty:run". Once these are fixed and we can get a clean test run,
> > we'll merge this branch back into trunk.
> >
> > Thanks again - if you have more changes you want applied, just let us
> > know. I'll read your emails more carefully next time :-)
> >
> > Ethan
> >
> > On Sat, Dec 11, 2010 at 2:29 PM, Vladimir Ivanov <lester.mail@gmail.com>
> wrote:
> >> 9) TwitterAPI, line 422: an according with
> >>
> http://groups.google.com/group/liftweb/browse_thread/thread/5841a5d85d62a68f/ee554ff330e987a4?lnk=gst&q=nodeSeqToResponse#ee554ff330e987a4
> >>
> >> method XMLApiHelper.nodeSeqToRespone() had dublicated
> >> method listElemToResponse() in the same trait (due to NodeSeq is a
> subclass
> >> of Seq[Node]), so it was removed in Lift 2.2
> >>
> >> After that fix the project has been compiled without any errors for me.
> I
> >> attached all files that were changed to ESME-313 issue. Next step is to
> >> check app for runtime errors.
> >>
> >> 2010/12/8 Richard Hirsch <hirsch.dick@gmail.com>
> >>
> >>> It looks like twitter has moved its libraries to 2.8 - so we are fine
> >>> there as well.
> >>>
> >>> Done all that I can - somebody else with more scala skills has to
> continue
> >>> now
> >>>
> >>> Here are the new errors:
> >>>
> >>> [WARNING]
> >>>
> D:\apache\esme\branches\lift-2.2\trunk\server\src\main\scala\bootstrap\liftweb\Boot.scala:231:
> >>> error: overloaded method value startAdmin with alternatives:
> >>> [WARNING]   (config: com.twitter.ostrich.Config,runtime:
> >>> com.twitter.ostrich.RuntimeEnvironment)Unit <and>
> >>> [WARNING]   (configgy: net.lag.configgy.ConfigMap,runtime:
> >>> com.twitter.ostrich.RuntimeEnvironment)Unit
> >>> [WARNING]  cannot be applied to (net.lag.configgy.Config,
> >>> net.lag.configgy.RuntimeEnvironment)
> >>> [WARNING]     ServiceTracker.startAdmin(config, runtime)
> >>> [WARNING]                    ^
> >>> [WARNING]
> >>>
> D:\apache\esme\branches\lift-2.2\trunk\server\src\main\scala\org\apache\esme\actor\HttpSender.scala:27:
> >>> error: value testing is not a member of package net.liftweb.http
> >>> [WARNING] import net.liftweb.http.testing._
> >>> [WARNING]                         ^
> >>> [WARNING]
> >>>
> D:\apache\esme\branches\lift-2.2\trunk\server\src\main\scala\org\apache\esme\actor\HttpSender.scala:39:
> >>> error: missing parameter type for expanded function ((x0$1) => x0$1
> >>> match {
> >>> [WARNING]   case SendAMessage((action @ _), (msg @ _), (user @ _),
> >>> (reason @ _), (token @ _)) => send(action, msg, user, reason, token)
> >>> [WARNING]   case _ => ()
> >>> [WARNING] })
> >>> [WARNING]   protected def messageHandler = {
> >>> [WARNING]                                  ^
> >>> [WARNING]
> >>>
> D:\apache\esme\branches\lift-2.2\trunk\server\src\main\scala\org\apache\esme\actor\SchedulerActor.scala:43:
> >>> error: type mismatch;
> >>> [WARNING]  found   :
> org.apache.esme.actor.SchedulerActor.SchedulerActor
> >>> [WARNING]  required: String
> >>> [WARNING]         regularsPerAction(id) += regularActor
> >>> [WARNING]                                  ^
> >>> [WARNING]
> >>>
> D:\apache\esme\branches\lift-2.2\trunk\server\src\main\scala\org\apache\esme\actor\UserActor.scala:193:
> >>> error: type mismatch;
> >>> [WARNING]  found   : Long
> >>> [WARNING]  required: String
> >>> [WARNING]       case AllowPool(poolId) => pools += poolId
> >>> [WARNING]                                          ^
> >>> [WARNING]
> >>>
> D:\apache\esme\branches\lift-2.2\trunk\server\src\main\scala\org\apache\esme\actor\UserActor.scala:264:
> >>> error: value ! is not a member of object
> >>> org.apache.esme.actor.HttpSender
> >>> [WARNING]                 HttpSender ! HttpSender.SendAMessage(m, msg,
> >>> u, reason, td.uniqueId))
> >>> [WARNING]                 ^
> >>> [WARNING]
> >>>
> D:\apache\esme\branches\lift-2.2\trunk\server\src\main\scala\org\apache\esme\actor\UserActor.scala:268:
> >>> error: value ! is not a member of object
> >>> org.apache.esme.actor.HttpSender
> >>> [WARNING]                 HttpSender ! HttpSender.SendAMessage(h, msg,
> >>> u, reason, td.uniqueId))
> >>> [WARNING]                 ^
> >>> [WARNING]
> >>>
> D:\apache\esme\branches\lift-2.2\trunk\server\src\main\scala\org\apache\esme\api\API2.scala:726:
> >>> error: type mismatch;
> >>> [WARNING]  found   : net.liftweb.common.Full[(Int,
> >>> scala.collection.immutable.Map[Nothing,Nothing], object
> >>> net.liftweb.common.Empty)]
> >>> [WARNING]  required: net.liftweb.http.LiftResponse
> >>> [WARNING]     Full((403,Map(),Empty))
> >>> [WARNING]         ^
> >>> [WARNING]
> >>>
> D:\apache\esme\branches\lift-2.2\trunk\server\src\main\scala\org\apache\esme\api\TwitterAPI.scala:422:
> >>> error: not found: value nodeSeqToResponse
> >>> [WARNING]       {() => Full(nodeSeqToResponse(toXml(unbox(x)))) }
> >>> [WARNING]                   ^
> >>> [WARNING]
> >>>
> D:\apache\esme\branches\lift-2.2\trunk\server\src\main\scala\org\apache\esme\api\TwitterAPI.scala:444:
> >>> error: value next is not a member of Iterable[Any]
> >>> [WARNING]     case m: Map[String, Any] => toJson(m.values.next)
> >>> [WARNING]                                                 ^
> >>> [WARNING]
> >>>
> D:\apache\esme\branches\lift-2.2\trunk\server\src\main\scala\org\apache\esme\lib\AccessPoolMgr.scala:185:
> >>> error: missing arguments for method collect in trait Iterator;
> >>> [WARNING] follow this method with `_' if you want to treat it as a
> >>> partially applied function
> >>> [WARNING]     val permissions = Permission.map(perm =>
> >>> (perm.id.toString, perm.toString)).collect
> >>> [WARNING]
> >>>                   ^
> >>> [WARNING]
> >>>
> D:\apache\esme\branches\lift-2.2\trunk\server\src\main\scala\org\apache\esme\model\AccessPool.scala:47:
> >>> error: not found: type long
> >>> [WARNING]   def getPoolName(poolId: long) = {
> >>> [WARNING]                           ^
> >>> [WARNING]
> >>>
> D:\apache\esme\branches\lift-2.2\trunk\server\src\main\scala\org\apache\esme\model\AccessPool.scala:49:
> >>> error: value getName is not a member of Any
> >>> [WARNING]       case Full(p) => p.getName
> >>> [WARNING]                         ^
> >>> [WARNING]
> >>>
> D:\apache\esme\branches\lift-2.2\trunk\server\src\main\scala\org\apache\esme\model\User.scala:190:
> >>> error: not found: type long
> >>> [WARNING]   def getNickname(userId: long) = {
> >>> [WARNING]                           ^
> >>> [WARNING]
> >>>
> D:\apache\esme\branches\lift-2.2\trunk\server\src\main\scala\org\apache\esme\model\User.scala:192:
> >>> error: value nickname is not a member of Any
> >>> [WARNING]       case Full(u) => u.nickname.is
> >>> [WARNING]                         ^
> >>> [WARNING]
> >>>
> D:\apache\esme\branches\lift-2.2\trunk\server\src\main\scala\org\apache\esme\model\Message.scala:148:
> >>> error: type mismatch;
> >>> [WARNING]  found   : List[object org.apache.esme.model.User#nickname]
> >>> [WARNING]  required: scala.List[String]
> >>> [WARNING]     val users:List[String] = following.map(user =>
> user.nickname)
> >>> [WARNING]                                           ^
> >>> [WARNING] 16 errors found
> >>>
> >>>
> >>> On Wed, Dec 8, 2010 at 3:04 PM, Richard Hirsch <hirsch.dick@gmail.com>
> >>> wrote:
> >>> > Got answer to last problem from lift list - here are the new errors.
> >>> >
> >>> > Some of the problemsare associated with our use of ostrich and the
> >>> > other libraries from twitter which are based on an older scala
> version
> >>> > -
> https://github.com/stevej/ostrich/blob/master/project/build.properties
> >>> >
> >>> >
> >>> > D.
> >>> >
> >>> >
> >>> > [WARNING] error: error while loading StatsMBean, Scala signature
> >>> > StatsMBean has wrong version
> >>> > [WARNING]  expected: 5.0
> >>> > [WARNING]  found: 4.1 in C:\Documents and
> >>> >
> >>>
> Settings\atw10dw4\.m2\repository\com\twitter\ostrich\1.1.26\ostrich-1.1.26.jar(com/twitter/ostrich/StatsMBean.class)
> >>> > [WARNING] error: error while loading Stats, Scala signature Stats has
> >>> > wrong version
> >>> > [WARNING]  expected: 5.0
> >>> > [WARNING]  found: 4.1 in C:\Documents and
> >>> >
> >>>
> Settings\atw10dw4\.m2\repository\com\twitter\ostrich\1.1.26\ostrich-1.1.26.jar(com/twitter/ostrich/Stats.class)
> >>> > [WARNING] error: error while loading RuntimeEnvironment, Scala
> >>> > signature RuntimeEnvironment has wrong version
> >>> > [WARNING]  expected: 5.0
> >>> > [WARNING]  found: 4.1 in C:\Documents and
> >>> >
> >>>
> Settings\atw10dw4\.m2\repository\net\lag\configgy\1.5.3\configgy-1.5.3.jar(net/lag/configgy/RuntimeEnvironment.class)
> >>> > [WARNING]
> >>>
> D:\apache\esme\branches\lift-2.2\trunk\server\src\main\scala\bootstrap\liftweb\Boot.scala:227:
> >>> > error: net.lag.configgy.RuntimeEnvironment does not have a
> constructor
> >>> > [WARNING]     val runtime = new RuntimeEnvironment(getClass)
> >>> > [WARNING]                   ^
> >>> > [WARNING] error: error while loading Config, Scala signature Config
> >>> > has wrong version
> >>> > [WARNING]  expected: 5.0
> >>> > [WARNING]  found: 4.1 in C:\Documents and
> >>> >
> >>>
> Settings\atw10dw4\.m2\repository\net\lag\configgy\1.5.3\configgy-1.5.3.jar(net/lag/configgy/Config.class)
> >>> > [WARNING]
> >>>
> D:\apache\esme\branches\lift-2.2\trunk\server\src\main\scala\bootstrap\liftweb\Boot.scala:228:
> >>> > error: net.lag.configgy.Config does not have a constructor
> >>> > [WARNING]     val config = new Config
> >>> > [WARNING]                  ^
> >>> > [WARNING] error: error while loading ServiceTracker, Scala signature
> >>> > ServiceTracker has wrong version
> >>> > [WARNING]  expected: 5.0
> >>> > [WARNING]  found: 4.1 in C:\Documents and
> >>> >
> >>>
> Settings\atw10dw4\.m2\repository\com\twitter\ostrich\1.1.26\ostrich-1.1.26.jar(com/twitter/ostrich/ServiceTracker.class)
> >>> > [WARNING]
> >>>
> D:\apache\esme\branches\lift-2.2\trunk\server\src\main\scala\org\apache\esme\actor\HttpSender.scala:27:
> >>> > error: value testing is not a member of package net.liftweb.http
> >>> > [WARNING] import net.liftweb.http.testing._
> >>> > [WARNING]                         ^
> >>> > [WARNING]
> >>>
> D:\apache\esme\branches\lift-2.2\trunk\server\src\main\scala\org\apache\esme\actor\HttpSender.scala:39:
> >>> > error: missing parameter type for expanded function ((x0$1) => x0$1
> >>> > match {
> >>> > [WARNING]   case SendAMessage((action @ _), (msg @ _), (user @ _),
> >>> > (reason @ _), (token @ _)) => send(action, msg, user, reason, token)
> >>> > [WARNING]   case _ => ()
> >>> > [WARNING] })
> >>> > [WARNING]   protected def messageHandler = {
> >>> > [WARNING]                                  ^
> >>> > [WARNING]
> >>>
> D:\apache\esme\branches\lift-2.2\trunk\server\src\main\scala\org\apache\esme\actor\SchedulerActor.scala:43:
> >>> > error: type mismatch;
> >>> > [WARNING]  found   :
> org.apache.esme.actor.SchedulerActor.SchedulerActor
> >>> > [WARNING]  required: String
> >>> > [WARNING]         regularsPerAction(id) += regularActor
> >>> > [WARNING]                                  ^
> >>> > [WARNING]
> >>>
> D:\apache\esme\branches\lift-2.2\trunk\server\src\main\scala\org\apache\esme\actor\UserActor.scala:193:
> >>> > error: type mismatch;
> >>> > [WARNING]  found   : Long
> >>> > [WARNING]  required: String
> >>> > [WARNING]       case AllowPool(poolId) => pools += poolId
> >>> > [WARNING]                                          ^
> >>> > [WARNING]
> >>>
> D:\apache\esme\branches\lift-2.2\trunk\server\src\main\scala\org\apache\esme\actor\UserActor.scala:264:
> >>> > error: value ! is not a member of object
> >>> > org.apache.esme.actor.HttpSender
> >>> > [WARNING]                 HttpSender ! HttpSender.SendAMessage(m,
> msg,
> >>> > u, reason, td.uniqueId))
> >>> > [WARNING]                 ^
> >>> > [WARNING]
> >>>
> D:\apache\esme\branches\lift-2.2\trunk\server\src\main\scala\org\apache\esme\actor\UserActor.scala:268:
> >>> > error: value ! is not a member of object
> >>> > org.apache.esme.actor.HttpSender
> >>> > [WARNING]                 HttpSender ! HttpSender.SendAMessage(h,
> msg,
> >>> > u, reason, td.uniqueId))
> >>> > [WARNING]                 ^
> >>> > [WARNING]
> >>>
> D:\apache\esme\branches\lift-2.2\trunk\server\src\main\scala\org\apache\esme\api\API2.scala:726:
> >>> > error: type mismatch;
> >>> > [WARNING]  found   : net.liftweb.common.Full[(Int,
> >>> > scala.collection.immutable.Map[Nothing,Nothing], object
> >>> > net.liftweb.common.Empty)]
> >>> > [WARNING]  required: net.liftweb.http.LiftResponse
> >>> > [WARNING]     Full((403,Map(),Empty))
> >>> > [WARNING]         ^
> >>> > [WARNING]
> >>>
> D:\apache\esme\branches\lift-2.2\trunk\server\src\main\scala\org\apache\esme\api\TwitterAPI.scala:422:
> >>> > error: not found: value nodeSeqToResponse
> >>> > [WARNING]       {() => Full(nodeSeqToResponse(toXml(unbox(x))))
}
> >>> > [WARNING]                   ^
> >>> > [WARNING]
> >>>
> D:\apache\esme\branches\lift-2.2\trunk\server\src\main\scala\org\apache\esme\api\TwitterAPI.scala:444:
> >>> > error: value next is not a member of Iterable[Any]
> >>> > [WARNING]     case m: Map[String, Any] => toJson(m.values.next)
> >>> > [WARNING]                                                 ^
> >>> > [WARNING]
> >>>
> D:\apache\esme\branches\lift-2.2\trunk\server\src\main\scala\org\apache\esme\lib\AccessPoolMgr.scala:185:
> >>> > error: missing arguments for method collect in trait Iterator;
> >>> > [WARNING] follow this method with `_' if you want to treat it as a
> >>> > partially applied function
> >>> > [WARNING]     val permissions = Permission.map(perm =>
> >>> > (perm.id.toString, perm.toString)).collect
> >>> > [WARNING]
> >>> >                   ^
> >>> > [WARNING]
> >>>
> D:\apache\esme\branches\lift-2.2\trunk\server\src\main\scala\org\apache\esme\model\AccessPool.scala:47:
> >>> > error: not found: type long
> >>> > [WARNING]   def getPoolName(poolId: long) = {
> >>> > [WARNING]                           ^
> >>> > [WARNING]
> >>>
> D:\apache\esme\branches\lift-2.2\trunk\server\src\main\scala\org\apache\esme\model\AccessPool.scala:49:
> >>> > error: value getName is not a member of Any
> >>> > [WARNING]       case Full(p) => p.getName
> >>> > [WARNING]                         ^
> >>> > [WARNING]
> >>>
> D:\apache\esme\branches\lift-2.2\trunk\server\src\main\scala\org\apache\esme\model\User.scala:190:
> >>> > error: not found: type long
> >>> > [WARNING]   def getNickname(userId: long) = {
> >>> > [WARNING]                           ^
> >>> > [WARNING]
> >>>
> D:\apache\esme\branches\lift-2.2\trunk\server\src\main\scala\org\apache\esme\model\User.scala:192:
> >>> > error: value nickname is not a member of Any
> >>> > [WARNING]       case Full(u) => u.nickname.is
> >>> > [WARNING]                         ^
> >>> > [WARNING]
> >>>
> D:\apache\esme\branches\lift-2.2\trunk\server\src\main\scala\org\apache\esme\model\Message.scala:148:
> >>> > error: type mismatch;
> >>> > [WARNING]  found   : List[object org.apache.esme.model.User#nickname]
> >>> > [WARNING]  required: scala.List[String]
> >>> > [WARNING]     val users:List[String] = following.map(user =>
> >>> user.nickname)
> >>> > [WARNING]                                           ^
> >>> > [WARNING] 22 errors found
> >>> >
> >>> >
> >>> > On Wed, Dec 8, 2010 at 2:09 PM, Richard Hirsch <
> hirsch.dick@gmail.com>
> >>> wrote:
> >>> >> I fixed the first problem with the definition.
> >>> >>
> >>> >> I have no idea how to fix the second problem in User.scala.
> >>> >>
> >>> >> D.
> >>> >>
> >>> >> On Wed, Dec 8, 2010 at 1:20 PM, Richard Hirsch <
> hirsch.dick@gmail.com>
> >>> wrote:
> >>> >>> Created a branch and changed the pom.xml to be based on lift
2.2
> RC1
> >>> >>> and scala 2.8.1
> >>> >>>
> >>> >>> Here are the errors:
> >>> >>>
> >>> >>> [INFO] suggestion: remove the scalaVersion from pom.xml
> >>> >>> [ERROR]
> D:\apache\esme\branches\lift-2.2\trunk\server\src\main\scala
> >>> >>> [ERROR]
> >>> D:\apache\esme\branches\lift-2.2\trunk\server\src\main\scala\..\scala
> >>> >>> [INFO] Compiling 62 source files to
> >>> D:\apache\esme\branches\lift-2.2\trunk\serve
> >>> >>> r\target\classes
> >>> >>> [WARNING]
> >>> D:\apache\esme\branches\lift-2.2\trunk\server\src\main\scala\org\apach
> >>> >>> e\esme\model\Message.scala:489: error: expected start of definition
> >>> >>> [WARNING]   @SearchableProperty{val termVector=TermVector.YES,
val
> >>> analyzer="ste
> >>> >>> mming"}
> >>> >>> [WARNING]                      ^
> >>> >>> [WARNING]
> >>> D:\apache\esme\branches\lift-2.2\trunk\server\src\main\scala\org\apach
> >>> >>> e\esme\model\Message.scala:495: error: expected start of definition
> >>> >>> [WARNING]   @SearchableProperty{val termVector=TermVector.YES,
val
> >>> analyzer="def
> >>> >>> ault"}
> >>> >>> [WARNING]                      ^
> >>> >>> [WARNING]
> >>> D:\apache\esme\branches\lift-2.2\trunk\server\src\main\scala\org\apach
> >>> >>> e\esme\model\Message.scala:498: error: expected start of definition
> >>> >>> [WARNING]   @SearchableProperty{val format="yyyy-MM-dd mm:ss"}
> >>> >>> [WARNING]                      ^
> >>> >>> [WARNING]
> >>> D:\apache\esme\branches\lift-2.2\trunk\server\src\main\scala\org\apach
> >>> >>> e\esme\model\Message.scala:501: error: expected start of definition
> >>> >>> [WARNING]   @SearchableProperty{val termVector=TermVector.YES,
val
> >>> analyzer="def
> >>> >>> ault"}
> >>> >>> [WARNING]                      ^
> >>> >>> [WARNING]
> >>> D:\apache\esme\branches\lift-2.2\trunk\server\src\main\scala\org\apach
> >>> >>> e\esme\model\Message.scala:508: error: expected start of definition
> >>> >>> [WARNING]   @SearchableProperty{val termVector=TermVector.YES,
val
> >>> analyzer="poo
> >>> >>> l"}
> >>> >>> [WARNING]                      ^
> >>> >>> [WARNING]
> >>> D:\apache\esme\branches\lift-2.2\trunk\server\src\main\scala\org\apach
> >>> >>> e\esme\model\User.scala:118: error: illegal start of simple
> expression
> >>> >>> [WARNING]     ) ++ SHtml.hidden(doSubmit _)
> >>> >>> [WARNING]     ^
> >>> >>> [WARNING]
> >>> D:\apache\esme\branches\lift-2.2\trunk\server\src\main\scala\org\apach
> >>> >>> e\esme\model\User.scala:119: error: ')' expected but '}' found.
> >>> >>> [WARNING]     }
> >>> >>> [WARNING]     ^
> >>> >>> [WARNING] 7 errors found
> >>> >>>
> >>> >>> Maybe somebody can take a quick look.  Thanks.
> >>> >>>
> >>> >>>
> >>> >>>
> >>> >>>
> >>> >>> On Wed, Dec 8, 2010 at 11:06 AM, Ethan Jewett <esjewett@gmail.com>
> >>> wrote:
> >>> >>>> I can look at it, but it would be better if someone else
could
> take it
> >>> >>>> on. I still haven't gotten to the user timeline work that
I said I
> >>> >>>> would do :-)
> >>> >>>>
> >>> >>>> Do we currently have a branch with the 2.2 snapshot that
we can
> work
> >>> in?
> >>> >>>>
> >>> >>>> Ethan
> >>> >>>>
> >>> >>>> On Tue, Dec 7, 2010 at 1:10 PM, Richard Hirsch <
> hirsch.dick@gmail.com>
> >>> wrote:
> >>> >>>>> I tried it a while back and it didn't compile right
away. There
> were
> >>> >>>>> scala changes that were necessary that I couldn't fix,
so I left
> it.
> >>> >>>>>
> >>> >>>>> Anyone else want to take a crack at it?
> >>> >>>>>
> >>> >>>>> D.
> >>> >>>>>
> >>> >>>>> On Tue, Dec 7, 2010 at 1:08 PM, Ethan Jewett <esjewett@gmail.com
> >
> >>> wrote:
> >>> >>>>>> Sure, as long as it doesn't cause any major issues.
> >>> >>>>>>
> >>> >>>>>> Ethan
> >>> >>>>>>
> >>> >>>>>> On Tue, Dec 7, 2010 at 1:05 PM, Richard Hirsch
<
> >>> hirsch.dick@gmail.com> wrote:
> >>> >>>>>>> Do we want to move to the latest lift release
for 1.2? We could
> get
> >>> >>>>>>> all the latest LAP code that is currently being
developed?
> >>> >>>>>>>
> >>> >>>>>>> D.
> >>> >>>>>>>
> >>> >>>>>>
> >>> >>>>>
> >>> >>>>
> >>> >>>
> >>> >>
> >>> >
> >>>
> >>
> >>
> >>
> >> --
> >> Best Regards,
> >> Vladimir Ivanov
> >>
> >
>



-- 
Best Regards,
Vladimir Ivanov

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message