Migrate from lucene.net 3.0 to 4.8 - lucene.net

We are upgrading from lucene.net 3.0 to 4.8. Now we have some issues because of breaking changes between these versions.
In our project, we make use of the CustomScoreQuery which used to be part of the Lucene.Net.Search.Function namespace. It is no longer there. According to the Apache documentation is is deprecated and should be replaced by using the FunctionScoreQuery, but this class doesn't seem to exist in 4.8. What should we use instead?
We used a custom collector class, that inherited from Lucene.Net.Search.Collector. In 4.8, this class has become sealed. I see there a several implementation classes. Which one should I use?
I discovered I need to use the ICollector interface. Which partly solves the problem. In the SetNextReader function, we use to do something like Lucene.Net.Search.FieldCache_Fields.DEFAULT.GetStrings(reader, "<field>"). This has also been removed. Apparently we need to use Lucene.Net.Search.FieldCache.DEFAULT.GetTerms(context.AtomicReader, "<fieldid>", false). So this issue seems solved
We used a class that inherited from CustomScoreProvider in Lucene.Net.Search.Function, but it is no longer there in 4.8. We used it combined with the CustomScoreQuery as returnvalue for the GetCustomScoreProvider method There doesn't seem to be any alternative. What should we use instead?
We used a WhitespaceAnalyzer in 3.0, Which doesn't seem to be there anymore. What is the replacement for that?
There is some documentation, but unfortunately the link to the migration guide is still a TODO.

I also posted my questions here, and the nice people from lucene.net answered all my questions

Related

Can not resolve Symbol "ForSqliteHasDefaultValueSql"

I want to define a Timestamp in my EF Core Project with SQLite and wanted to use this function:
Click
I know that this function seems to be in the classic EF and maybe it is not available anymore but 3 days ago I found the right package and the extension method that I was searching. Unfortunatelly I had another problem with the code and reverted everything and now I do not find the right package anymore. It was during a hackathon during the last hours, so i really do not remember how I got it to work :/
Does anybody know which nuget package has this method? The only thing that I am referencing is Microsoft.EntityFrameworkCore.Sqlite. I allready tried the .Core and the classic EF dependencies and some random third party sqlite/ef packages, but I still can not compile this extension method :(
As you can see from the link, this method applies to EF Core versions 1.0 and 1.1.
Starting from v2.0, most of the provider specific ForAbcXyz methods have been replaced with the generic Xyz methods.
So the method you are looking for is HasDefaultValueSql. If you support multiple databases, use it inside a block enclosed with
if (Database.IsSqlite())
{
// ...
}

Eclipse Source Editor: Some items are Shown as StrikeThrough. How Come? [duplicate]

While I'm making an Android app, Eclipse will strike out some things. More specifically, Gallery. Here is a screen shot:
When I hover my mouse over the warnings, it says The type Gallery is deprecated. I don't know what Deprecated means, but I do know that it's a Java term. Any help would be appreciated. Thanks!
(From the question before editing: The term is deprecated, not depreciated. It's a common typo, but worth being aware of for searching purposes :)
It's basically a bit like "obsolete" - you're encouraged not to use classes or methods which are deprecated. Typically the documentation will explain why you're not meant to use them, and give you a better alternative. The deprecated version is only present for backward compatibility, usually.
It's worth taking this seriously - a lot of the time if you're using a deprecated API, you're coming at something from a fundamentally flawed approach. Date is the clearest example of this, where the Java 1.0 API was almost entirely deprecated in 1.1, when Calendar was introduced. Using the deprecated methods in Date is a sure way of storing up problems for yourself.
See the Oracle "How and when to deprecate APIs" page for more information.
Deprecated means it used to support older SDK, but not anymore. Thats why you get the warning.
It is just a warning most of the times it works, but you most be careful because it could cause problem with newer versions.
Deprecated isn't a Java term. It is used in many other things but a lot in programming. It simply means that it is no longer supported...normally replaced with something else. The Android Docs will help you adapt it to what you need depending on what you're doing

Sitecore.Forms.MVC.dll 8.0 to 8.1 removed classes : FieldModel & SectionModel

I am in the process of converting the deprecated methods & classes of WFFM from 8.0 rev.150429 (Update-3) to 8.1 rev. 151008 (Initial release). Sitecore provided a good documentation > release notes for the 'breaking changes' that would occur when converted to WFFM 8.1.
Link to release note:
https://dev.sitecore.net/Downloads/Web%20Forms%20For%20Marketers/Web%20Forms%20For%20Marketers%2081/Web%20Forms%20For%20Marketers%2081%20Initial%20Version/Release%20Notes
And that includes moving some classes from Sitecore.Form.Core.dll to Sitecore.WFFM.Abstractions.Actions.dll (okay I understand).
However, though I am not really sure, maybe I just couldn't locate the right page/site, but there were also some changes made in the Sitecore.Forms.MVC 8.0 to 8.1 which were not documented. To be specific, classes are as follows:
Sitecore.Forms.MVC.Models.FieldModel (removed in Sitecore.Forms.MVC 8.1)
Sitecore.Forms.MVC.Models.SectionModel (removed in Sitecore.Forms.MVC 8.1)
Maybe there were also other classes that were removed, as well. But I am only concerned about the above two (2) classes for the mean time.
So, I'd like to know if someone already ran into this scenario before when upgrading WFFM to 8.1 and how you were able to resolved the issue?
I have a hint that I just have to look for the NEW DLL that uses or implements the FieldModel and SectionModel, but again, I couldn't find it as of this writing.
Appreciate any help. Thanks.
There is no FieldModel and SectionModel anymore, but I assume you are looking for the FieldViewModel and SectionViewModel. They can be found still in Sitecore.Forms.Mvc in the Sitecore.Forms.Mvc.ViewModels namespace.
If you need more specific classes, you can check the Sitecore.Forms.Mvc.ViewModels.Fields as well - or open the Sitecore.Forms.Mvc dll with a decompiler (as I did).

Groovy eclipse plugin, strikethroughs everywhere

I just tried the Groovy-Eclipse plugin , and everything is working fine, except the syntax highlighting is behaving really strange.
Basically, it sees to think pretty much everything is deprecated. I get strike-troughs everywhere.
For example, toURL is striked through when using
"http://stackoverflow.com".toURL()
I see this with loads of methods, including eachLine , getText and many many more. These methods aren't deprecated, what is going on?
I'm running Eclipse 4.2, 2.7.0.xx-20120703-1400-e42-RELEASE and Groovy 2.0
These methods are deprecated because they moved to other classes and your plugin is not aware of that. There're many methods deprecated:
You can look up the deprecated API's for the new main version of Groovy here.
You can read about the similar question here:
An answer from the STS/Groovy-Eclipse side of things.
This is fixed in the latest 2.7.1 snapshot.
Earlier versions of Groovy-Eclipse were not aware of StringGroovyMethod,
but this has been fixed.

why is Catalyst::Helper::View::TTSite deprecated?

I've just started getting into Catalyst, and I've been finding it really helpful. One of my favorite things about it was TTSite in that it got me going fast and gave me something to develop with without just black text (and it required no work from me to setup). However, I've been reading in a lot of places that it's buggy, or even deprecated as mentioned here on the actual Catalyst tutorial. However I've found it nothing but helpful and have had no issues, so basically I'm wondering is there reason for me to be worried and not use it? And if so, does anyone know of a similar alternative that kind of gives you a base template set up to work within? Thanks a lot!
I don't think TTSite is officially deprecated in terms of support .. it is still included in the Catalyst::View::TT distribution as of 0.39 (released 10-April 2012). I suspect it is more a case of some developers disliking the base templates that are provided and TTSite no longer being recommended as part of the default Catalyst tutorial.
TTSite provides a very simple base that has some quirks. For example, the context object is called Catalyst instead of c, and the use of TT's WRAPPER command can get in the way of AJAX and non-html views.
More background reading:
Discussion on the Catalyst-Dev mailing list regarding changing the Catalyst tutorial from TTSite to straight TT
Catalyst wiki: disabling TT wrapper for AJAX requests
A blog post on TTSite including changing Catalyst context reference to c
A modern base theme would probably start with something like Bootstrap or one of the 960 Grid HTML/CSS frameworks. I'm not aware of an actively maintained Catalyst::View helper that would be a better replacement for TTSite, but also don't find it too onerous to drop in the latest version of Bootstrap :)