Scala on NetBeans Modules on Update Center Now

=== Updated Feb 2, 2008 ==>
There is an issue in auto-generated Scala project's ant build-impl.xml file, which get the scala.home property wrongly set. I just fixed it, please wait the new Scala Project module to be available on Update Center, which version should be 1.2.1.
===

I've added Scala modules to nightly build cluster, so, you can get/update these modules via NetBeans plugins update center from today.

Since these modules are experimental, I recommend you to download a nightly build version NetBeans before get these modules, you can get the latest nightly build NetBeans from: http://bits.netbeans.org/download/trunk/nightly/latest/

To get the Scala modules, open menu: [Tools]->[Plugins], check [Setting] to ensure "Last Development Build" is in the list of Update Centers, which with Url:
http://deadlock.netbeans.org/hudson/job/javadoc-nbms/lastSuccessfulBuild/artifact/nbbuild/nbms/updates.xml.gz

Then in the [Available Plugins] tab, you can find the "Scala" category, which currently contains 3 modules: Scala Console, Scala Editing, Scala Project (you may need to click [Reload Category]). Select them and click [Install]

Notes:

  • Don't forget to set your SCALA_HOME environment first, and append "-J-Dscala.home=scalahomepath" (for Windows users, try to append "-J-Dscala.home=%SCALA_HOME%") to the end of "netbeans_default_options" in your netbeans.conf file, where, "scalahomepath" is your Scala home's absolute path. For example: /Users/dcaoyuan/apps/scala/share/scala/ (which contains sub-directory: bin, lib etc). netbeans.conf is located at "pathToNetBeansInstallationDirectory/etc", in Mac OSX, it could be:
    /Applications/NetBeans/NetBeans\ 6.0.app/Contents/Resources/NetBeans/etc, or ~/SomePath/netbeans/etc
  • The Scala Project supporting has been rewritten, so if you have Scala projects created by previous Scala plugin, you should recreate new Scala project, and copy source files to this new created project's src directory.
  • Debugger module is not released yet.

Comments

1. Markus Jais (codekite) -- 2008-01-31 16:00

Thanks for all your work. I am new to Scala, but your posts made all this very interesting. I just downloaded the latest Netbeans build and the latest Scala version. Looking forward to playing with the language and your plugin.

2. Javier Diaz -- 2008-01-31 16:00

How come it is already Friday in Canada? Anyway, I finally will be downloading NB6. Thanks!

3. SwitchBL8 -- 2008-01-31 16:00

Great work. Keep it up.

4. anonymous -- 2008-01-31 16:00

This blog is hosted in China freely by my friend, and the timezone is set to China at the beginning, so I just let it be. It's already Friday in China :-)

I just adjusted the timezone to Canada Pacific

5. Curtis Stanford -- 2008-02-01 16:00

Can't get this to work in NB6.1M1. Everything goes well until I try to create a Scala project. I get the following:

<pre> java.lang.NoSuchMethodError?: org.netbeans.spi.project.support.ant.ProjectGenerator?.createProject(Lorg/openide/filesystems/FileObject;Ljava/lang/String;Ljava/lang/String;)Lorg/netbeans/spi/project/support/ant/AntProjectHelper;

at org.netbeans.modules.scala.project.J2SEProjectGenerator.createProject(J2SEProjectGenerator.java:216) at org.netbeans.modules.scala.project.J2SEProjectGenerator.access$000(J2SEProjectGenerator.java:78) at org.netbeans.modules.scala.project.J2SEProjectGenerator$1.run(J2SEProjectGenerator.java:99) at org.openide.filesystems.EventControl?.runAtomicAction(EventControl?.java:120) at org.openide.filesystems.FileSystem?.runAtomicAction(FileSystem?.java:499) at org.netbeans.modules.scala.project.J2SEProjectGenerator.createProject(J2SEProjectGenerator.java:97) at org.netbeans.modules.scala.project.ui.wizards.NewJ2SEProjectWizardIterator.instantiate(NewJ2SEProjectWizardIterator.java:180) at org.openide.loaders.TemplateWizard?$InstantiatingIteratorBridge?.instantiate(TemplateWizard?.java:1023) at org.openide.loaders.TemplateWizard?.handleInstantiate(TemplateWizard?.java:595) at org.openide.loaders.TemplateWizard?.instantiateNewObjects(TemplateWizard?.java:416) at org.openide.loaders.TemplateWizardIterImpl?.instantiate(TemplateWizardIterImpl?.java:253) at org.openide.loaders.TemplateWizardIteratorWrapper?.instantiate(TemplateWizardIteratorWrapper?.java:165) at org.openide.WizardDescriptor?.callInstantiateOpen(WizardDescriptor?.java:1384) at org.openide.WizardDescriptor?.callInstantiate(WizardDescriptor?.java:1341) at org.openide.WizardDescriptor?.access$1600(WizardDescriptor?.java:119) at org.openide.WizardDescriptor?$Listener$2$1.run(WizardDescriptor?.java:1908) at org.openide.util.RequestProcessor?$Task.run(RequestProcessor?.java:561)

[catch] at org.openide.util.RequestProcessor?$Processor.run(RequestProcessor?.java:986) </pre>

6. Curtis Stanford -- 2008-02-01 16:00

Can't get this to work in NB6.1M1. Everything goes well until I try to create a Scala project. I get the following (can' t post the whole stack, 1000 limit):

<pre> java.lang.NoSuchMethodError?: org.netbeans.spi.project.support.ant.ProjectGenerator?.createProject(Lorg/openide/filesystems/FileObject;Ljava/lang/String;Ljava/lang/String;)Lorg/netbeans/spi/project/support/ant/AntProjectHelper;

at org.netbeans.modules.scala.project.J2SEProjectGenerator.createProject(J2SEProjectGenerator.java:216) at org.netbeans.modules.scala.project.J2SEProjectGenerator.access$000(J2SEProjectGenerator.java:78) at org.netbeans.modules.scala.project.J2SEProjectGenerator$1.run(J2SEProjectGenerator.java:99)

</pre>

7. Caoyuan -- 2008-02-01 16:00

Hi Curtis,

This doesn't happen on NetBeans nightly build. If I have time, I'll try to take a look at M1.

BTW, the current NetBeans nightly build is not stable yet, there are some Exceptions throwing out when do Java editing, but it seems not affecting Scala editing. Hope this issue will go on soon.

8. Curtis Stanford -- 2008-02-02 16:00

Cool, thanks. Look forward to trying it.

9. Ian Clarke -- 2008-02-03 16:00

I installed the module in the current Netbeans snapshot (OSX 10.5), but whenever I try to run the project, I get:

Could not load definitions from resource scala/tools/ant/antlib.xml. It could not be found.

I cannot find this antlib.xml file anywhere in my scala distribution.

Help!

10. Ian Clarke -- 2008-02-03 16:00

Please disregard my last comment, I upgraded to the latest plugin versions and it seems to work now.

11. Lukas -- 2008-02-04 16:00

where to report issues? IMO, this one is your - http://www.netbeans.org/issues/show_bug.cgi?id=126596

12. Caoyuan -- 2008-02-04 16:00

Hi Lukas,

You can report issues under "languages"->"code" subcomponent

13. Michael Nischt -- 2008-02-04 16:00

Great improvements, but unfortunately I get a very annoying error every time I type a '.', because of the completion mechanism:

java.lang.NullPointerException?

at org.netbeans.modules.scala.editing.Scala.completionItems(Scala.java:180)

Caused: java.lang.reflect.InvocationTargetException?

at sun.reflect.GeneratedMethodAccessor234.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl?.invoke(DelegatingMethodAccessorImpl?.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.netbeans.modules.languages.Feature$Method.evaluate(Feature.java:473) at org.netbeans.modules.languages.Feature$Method.evaluate(Feature.java:424) at ....

Btw. Can you please change scalac to fsc in the ant script to speed up compilation as I have to edit the build-impl.xml again as soon as change a project properties.

14. Caoyuan -- 2008-02-04 16:00

Nichael,

Which version are you using? I do not encounter the issue when press "."

To replace scalac with fsc, I have to make sure SCALA_HOME working on all OSes, Mac, Windows, Linux etc. So please wait for some time. For a temporary solution, you may try to link scalac to fsc?

15. Michael Nischt -- 2008-02-05 16:00

Thanks for the update, Editor Module Update 1.0.4 -> 1.0.5 fixes the problem :-)

16. Blair Zajac -- 2008-02-14 16:00

I'm getting this stack trace trying to start a new Scala project from yesterday's build. This is with the

netbeans-trunk-nightly-200802120006-javaee-macosx.dmg

JavaEE NetBeans build.

java.lang.NoClassDefFoundError?: org/netbeans/modules/j2ee/persistence/spi/PersistenceLocationProvider

at java.lang.ClassLoader?.defineClass1(Native Method) at java.lang.ClassLoader?.defineClass(ClassLoader?.java:620) at org.netbeans.JarClassLoader?.doLoadClass(JarClassLoader?.java:242) at org.netbeans.ProxyClassLoader?.selfLoadClass(ProxyClassLoader?.java:253) at org.netbeans.ProxyClassLoader?.loadClass(ProxyClassLoader?.java:227) at java.lang.ClassLoader?.loadClass(ClassLoader?.java:251) at java.lang.ClassLoader?.loadClassInternal(ClassLoader?.java:319) at org.netbeans.modules.scala.project.J2SEProject.createLookup(J2SEProject.java:252) at org.netbeans.modules.scala.project.J2SEProject.<init>(J2SEProject.java:168) at org.netbeans.modules.scala.project.J2SEProjectType.createProject(J2SEProjectType.java:69) at org.netbeans.modules.project.ant.AntBasedProjectFactorySingleton?.loadProject(AntBasedProjectFactorySingleton?.java:192) at org.netbeans.api.project.ProjectManager?.createProject(ProjectManager?.java:368) at org.netbeans.api.project.ProjectManager?.access$300(ProjectManager?.java:80) at org.netbeans.api.project.ProjectManager?$3.run(ProjectManager?.java:289) at org.netbeans.api.project.ProjectManager?$3.run(ProjectManager?.java:242) at org.openide.util.Mutex.readAccess(Mutex.java:327) at org.openide.util.Mutex$1R.run(Mutex.java:1299) at org.openide.util.Mutex.doWrapperAccess(Mutex.java:1318) at org.openide.util.Mutex.readAccess(Mutex.java:320) at org.netbeans.api.project.ProjectManager?.findProject(ProjectManager?.java:241) at org.netbeans.spi.project.support.ant.ProjectGenerator?$1.run(ProjectGenerator?.java:161) at org.netbeans.spi.project.support.ant.ProjectGenerator?$1.run(ProjectGenerator?.java:115) at org.openide.util.Mutex.writeAccess(Mutex.java:433) at org.openide.util.Mutex$1R.run(Mutex.java:1305) at org.netbeans.api.project.ProjectManager?$2$1.run(ProjectManager?.java:120) at org.openide.filesystems.EventControl?.runAtomicAction(EventControl?.java:120) at org.openide.filesystems.FileSystem?.runAtomicAction(FileSystem?.java:499) at org.openide.filesystems.FileUtil?.runAtomicAction(FileUtil?.java:167) at org.netbeans.api.project.ProjectManager?$2.execute(ProjectManager?.java:118) at org.openide.util.Mutex.doWrapperAccess(Mutex.java:1320) at org.openide.util.Mutex.writeAccess(Mutex.java:426) at org.netbeans.spi.project.support.ant.ProjectGenerator?.createProject0(ProjectGenerator?.java:114) at org.netbeans.spi.project.support.ant.ProjectGenerator?.createProject(ProjectGenerator?.java:108) at org.netbeans.modules.scala.project.J2SEProjectGenerator.createProject(J2SEProjectGenerator.java:216) at org.netbeans.modules.scala.project.J2SEProjectGenerator.access$000(J2SEProjectGenerator.java:78) at org.netbeans.modules.scala.project.J2SEProjectGenerator$1.run(J2SEProjectGenerator.java:99) at org.openide.filesystems.EventControl?.runAtomicAction(EventControl?.java:120) at org.openide.filesystems.FileSystem?.runAtomicAction(FileSystem?.java:499) at org.netbeans.modules.scala.project.J2SEProjectGenerator.createProject(J2SEProjectGenerator.java:97) at org.netbeans.modules.scala.project.ui.wizards.NewJ2SEProjectWizardIterator.instantiate(NewJ2SEProjectWizardIterator.java:181) at org.openide.loaders.TemplateWizard?$InstantiatingIteratorBridge?.instantiate(TemplateWizard?.java:1023) at org.openide.loaders.TemplateWizard?.handleInstantiate(TemplateWizard?.java:595) at org.openide.loaders.TemplateWizard?.instantiateNewObjects(TemplateWizard?.java:416) at org.openide.loaders.TemplateWizardIterImpl?.instantiate(TemplateWizardIterImpl?.java:253) at org.openide.loaders.TemplateWizardIteratorWrapper?.instantiate(TemplateWizardIteratorWrapper?.java:165) at org.openide.WizardDescriptor?.callInstantiateOpen(WizardDescriptor?.java:1384) at org.openide.WizardDescriptor?.callInstantiate(WizardDescriptor?.java:1341) at org.openide.WizardDescriptor?.access$1600(WizardDescriptor?.java:119) at org.openide.WizardDescriptor?$Listener$2$1.run(WizardDescriptor?.java:1908) at org.openide.util.RequestProcessor?$Task.run(RequestProcessor?.java:561)

[catch] at org.openide.util.RequestProcessor?$Processor.run(RequestProcessor?.java:986)

17. Blair Zajac -- 2008-02-14 16:00

I'm getting this stack trace trying to start a new Scala project from yesterday's build. This is with the netbeans-trunk-nightly-200802120006-javaee-macosx.dmg JavaEE NetBeans build. java.lang.NoClassDefFoundError?: org/netbeans/modules/j2ee/persistence/spi/PersistenceLocationProvider at java.lang.ClassLoader?.defineClass1(Native Method) at java.lang.ClassLoader?.defineClass(ClassLoader?.java:620) at org.netbeans.JarClassLoader?.doLoadClass(JarClassLoader?.java:242) at org.netbeans.ProxyClassLoader?.selfLoadClass(ProxyClassLoader?.java:253) at org.netbeans.ProxyClassLoader?.loadClass(ProxyClassLoader?.java:227) at java.lang.ClassLoader?.loadClass(ClassLoader?.java:251) at java.lang.ClassLoader?.loadClassInternal(ClassLoader?.java:319) at org.netbeans.modules.scala.project.J2SEProject.createLookup(J2SEProject.java:252) at org.netbeans.modules.scala.project.J2SEProject.<init>(J2SEProject.java:168) at org.netbeans.modules.scala.project.J2SEProjectType.createProject(J2SEProjectType.java:69) at org.netbeans.modules.project.ant.AntBasedProjectFactorySingleton?.loadProject(AntBasedProjectFactorySingleton?.java:192) at org.netbeans.api.project.ProjectManager?.createProject(ProjectManager?.java:368) at org.netbeans.api.project.ProjectManager?.access$300(ProjectManager?.java:80) at org.netbeans.api.project.ProjectManager?$3.run(ProjectManager?.java:289) at org.netbeans.api.project.ProjectManager?$3.run(ProjectManager?.java:242) ... ... at org.openide.WizardDescriptor?$Listener$2$1.run(WizardDescriptor?.java:1908) at org.openide.util.RequestProcessor?$Task.run(RequestProcessor?.java:561) [catch] at org.openide.util.RequestProcessor?$Processor.run(RequestProcessor?.java:986)

18. Blair Zajac -- 2008-02-14 16:00

I'm getting this stack trace trying to start a new Scala project from yesterday's build. This is with the netbeans-trunk-nightly-200802120006-javaee-macosx.dmg JavaEE NetBeans build. java.lang.NoClassDefFoundError?: org/netbeans/modules/j2ee/persistence/spi/PersistenceLocationProvider at java.lang.ClassLoader?.defineClass1(Native Method) at java.lang.ClassLoader?.defineClass(ClassLoader?.java:620) at org.netbeans.JarClassLoader?.doLoadClass(JarClassLoader?.java:242) at org.netbeans.ProxyClassLoader?.selfLoadClass(ProxyClassLoader?.java:253) at org.netbeans.ProxyClassLoader?.loadClass(ProxyClassLoader?.java:227) at java.lang.ClassLoader?.loadClass(ClassLoader?.java:251) at java.lang.ClassLoader?.loadClassInternal(ClassLoader?.java:319) at org.netbeans.modules.scala.project.J2SEProject.createLookup(J2SEProject.java:252) at org.netbeans.modules.scala.project.J2SEProject.<init>(J2SEProject.java:168) at org.netbeans.modules.scala.project.J2SEProjectType.createProject(J2SEProjectType.java:69) ...

19. Blair Zajac -- 2008-02-14 16:00

I'm getting this stack trace trying to start a new Scala project with this NetBeans: netbeans-trunk-nightly-200802120006-javaee-macosx.dmg java.lang.NoClassDefFoundError?: org/netbeans/modules/j2ee/persistence/spi/PersistenceLocationProvider at java.lang.ClassLoader?.defineClass1(Native Method) at java.lang.ClassLoader?.defineClass(ClassLoader?.java:620) at org.netbeans.JarClassLoader?.doLoadClass(JarClassLoader?.java:242) at org.netbeans.ProxyClassLoader?.selfLoadClass(ProxyClassLoader?.java:253) at org.netbeans.ProxyClassLoader?.loadClass(ProxyClassLoader?.java:227) at java.lang.ClassLoader?.loadClass(ClassLoader?.java:251) at java.lang.ClassLoader?.loadClassInternal(ClassLoader?.java:319) at org.netbeans.modules.scala.project.J2SEProject.createLookup(J2SEProject.java:252) at org.netbeans.modules.scala.project.J2SEProject.<init>(J2SEProject.java:168) at org.netbeans.modules.scala.project.J2SEProjectType.createProject(J2SEProjectType.java:69) ...

20. Caoyuan -- 2008-02-14 16:00

Blair,

You may need the latest nightly build again, I just tested it on NetBeans IDE Dev 200802150006.

Sometimes, to fix a bug, I have to modify code that not limited to scala only modules, which may not be updated via Update Center, and you have to download a latest nightly build.

21. cheap monster -- 2012-03-08 08:25

http://www.onlinemonsterbeatssale.com/ introduction of noise canceling headphones products in several price relatively close to the people, <a href="http://www.onlinemonsterbeatssale.com/goods-11118-discount-cheap-monster-beats-by-dr-dre-studio-limited-edition-lebron-james-gold-for-sale.html">Beats By Dr Dre Studio Limited Edition Lebron James Gold</a> is a good of a few hundred dollars of the price evenzStudent users to buy is also very appropriate. Flying <a href="http://www.onlinemonsterbeatssale.com/goods-11119-discount-cheap-monster-beats-studio-lamborghini-limited-edition-yellow-headphones-for-sale.html">cheap monster beats studio lamborghini limited edition yellow headphones</a> very compact, the overall appearance of the white-ear wearing styles can Enough to provide some physical noise reduction, wear them to wear very comfortable, very suitable to go out to listen to. http://www.onlinemonsterbeatssale.com/

22. Beats Headphones -- 2012-03-24 02:19

<a href="http://www.monstercountrysale.com/goods-11148-discount-cheap-monster-beats-dr-dre-studio-classic-lamborghini-limited-edition-foe-sale.html"><img src="http://www.monstercountrysale.com/201203g11148-G-0956316/cheap-monster-beats-dr-dre-studio-classic-lamborghini-limited-edition-foe-sale.jpg"></img></a> <a href="http://www.monstercountrysale.com/goods-11146-discount-cheap-monster-beats-by-dr-dre-studio-high-definition-powered-isolatio-for-sale.html">Monster Beats by Dr. Dre Studio High Definition Powered Isolatio</a> headset is offering new series headset products, unlike previous hip-hop style headset is different, the series of headset main graffiti style. At present the arrival of a is a very has the street style of wearing fashionable headphones, <a href="http://www.monstercountrysale.com/goods-11145-discount-cheap-beats-by-dr-dre-studio-transformers-gradient-monster-headphones-cheap-for-sale.html">Beats By Dr Dre Studio transformers Gradient Monster headphones cheap </a> headset shell design are relatively individual character, the lateral labeled a rubber material, with blue above the graffiti design, simple sense is very good, look also having a unique style. <a href="http://www.monstercountrysale.com/goods-11144-discount-cheap-monster-beats-by-dr-dre-studio-high-performance-white-skull-headphones-for-sale.html">Monster Beats By Dr Dre Studio High Performance White Skull Headphones</a> the whole headset USES white design, looks relatively simple, lightweight structure to carry out use. http://www.monstercountrysale.com/

23. cheap monste -- 2012-03-29 05:10

http://www.onlinemonsterbeatssale.com/goods-11117-discount-cheap-monster-beats-by-dr-dre-studio-limited-edition-kobe-bryant-for-sale.html Cheap Monster Beats By Dr Dre Studio Limited Edition Kobe Bryant products, mobile music headset sound quality to go the same route http://www.onlinemonsterbeatssale.com/goods-11118-discount-cheap-monster-beats-by-dr-dre-studio-limited-edition-lebron-james-gold-for-sale.html Beats By Dr Dre Studio Limited Edition Lebron James Gold and there is no kind of thundering low-frequency, but full of IF with a clear high-frequency tuning do not let the ear too much fatigue, suitable for long-term out listening to music mobile to choose from. http://www.onlinemonsterbeatssale.com/goods-11119-discount-cheap-monster-beats-studio-lamborghini-limited-edition-yellow-headphones-for-sale.html cheap monster beats studio lamborghini limited edition yellow headphones as a position in the mobile communications headset products, whether it is very good in the appearance of features or the sound characteristics and mode of operation reflects the positioning of this product concept. The price of less than moderate, with considerable market competitiveness. http://www.onlinemonsterbeatssale.com/

24. coach factory outlet -- 2012-03-31 06:23

No one can deny the shopping at the coach factory outlet is satisfactory. For the low prices and good quality.Over the years, coach factory online has added a multitude of new handbag shapes, styles and materials to their collection. However, the highest care is taken that every Coach handbags is both aesthetically beautiful and functional.Many fashionable women match with practical Coach Purses which will make the street shopping become relaxed,and make every person can enjoy more diversiform combination in coach factory outlet online.

http://www.ccoachfactoryoutlet.com

25. louis vuitton sale -- 2012-03-31 06:25

Don't feel upset, there will be a great conversion to this kind of situation because there are a large number of louis vuitton sale now!louis vuitton outlet,welcome to buy urban louis vuitton on our online shop.discount price is our special offer, durability and high quality is our promise.louis vuitton Outlets offer famous classic brand for LV,Channel, with perfect service.So become to the VIP soon.They offer more new styles,like LV purses,LV wallets etc. And are tested by product quality monitoring center .

http://www.louisvuittonoutletsaleo.com

26. coach outlet online -- 2012-03-31 06:25

Turn your attention to such discount coach sneakers for women from coach outlet online, you will find something unique and special of such authentic coach for sale at coach factory outlet store online.coach outlet store sells goods that are constructed to meet the highest standards of quality and functionality.You can trust it 100 percent.coach outlet has become a popular shopping experience for consumers around the world, and a desirable distribution channel for manufacturer's and retailers.

http://www.coachoutletonlinesl.com

27. louis vuitton outlet -- 2012-03-31 06:49

any louis vuitton outlet New backpack features usa a function grownup overall look. Varied piece allows that it is captivated me within the approve and also further than your body.It’s induced by way of severe hardworking liver diseases, and also the most familiar factors behind constant louis vuitton bags outlet hard working liver disorder usually are excessive drinking and also liver disease Chemical.Ladies have an ardent love for the Louis Vuitton handbags outlet because Louis Vuitton enjoys a worldwide reputation of high quality and fashionable designs.

http://www.louisvuittonoutletbagsc.com

28. coach outlet store online -- 2012-03-31 06:52

coach outlet store online marketed properly all greater compared to earth and earn cozy praise from customers. They are made from the finest leather and fabric.coach outlet store have Coach handbags,Coach Shoulder Bags,Coach Briefcases and so on,these bags are so perfectly reproduced,you won't even be able to tell the difference!Coach Outlet Online Store would dynamically change your overall styles right away. The amazing knack about the unique coach handbag is that it would never disappoint your individual styles at all. Rather, it would instantly change your ultimate fashions in a remarkable manner.

http://www.coachoutletstoreonlineeo.com

29. louis vuitton uk -- 2012-03-31 06:58

Our online store offers you discounted Designer louis vuitton replica wallet at present. You could find them in desirable quality and price. If you don't mind high class louis vuitton uk, have a good time here.These is the first time your visit our louis vuit Louis vuitton online shop ,welcome.

http://www.louisvuittonukk.org.uk

30. JohnNReuter -- 2012-04-07 05:12

This is providing the great services in this blog that to suing the nice services in this decrypt md5 website. Thanks a lot for using the nice technology in this blog and the different technology is visible in this blog.

32. christian louboutin uk -- 2012-04-18 01:40
33. louis vuitton uk -- 2012-04-18 01:47
34. mulberry sale -- 2012-04-18 01:56

Add New Comment