Test fix ups for extra locales and to support non-stored non-indexed properties

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4935 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Andrew Hind
2007-01-26 09:48:27 +00:00
parent 0cad146565
commit 3ba0f45817
2 changed files with 39 additions and 35 deletions

View File

@@ -71,7 +71,7 @@ public class MLAnaysisModeExpansionTest extends TestCase
{
HashSet<Locale> locales = new HashSet<Locale>();
locales.addAll(MLAnalysisMode.getLocales(MLAnalysisMode.LOCALE_AND_ALL_CONTAINED_LOCALES, new Locale("en", "", ""), false));
assertEquals(9, locales.size());
assertTrue(locales.size()>= 9);
assertTrue(locales.contains(new Locale("en", "", "")));
assertTrue(locales.contains(new Locale("en", "AU", "")));
assertTrue(locales.contains(new Locale("en", "GB", "")));
@@ -92,7 +92,7 @@ public class MLAnaysisModeExpansionTest extends TestCase
locales = new HashSet<Locale>();
locales.addAll(MLAnalysisMode.getLocales(MLAnalysisMode.ALL_LANGUAGES, new Locale("en", "GB", ""), false));
assertEquals(9, locales.size());
assertTrue(locales.size()>= 9);
assertTrue(locales.contains(new Locale("en", "", "")));
assertTrue(locales.contains(new Locale("en", "AU", "")));
assertTrue(locales.contains(new Locale("en", "GB", "")));
@@ -105,7 +105,7 @@ public class MLAnaysisModeExpansionTest extends TestCase
locales = new HashSet<Locale>();
locales.addAll(MLAnalysisMode.getLocales(MLAnalysisMode.ALL_LANGUAGES_AND_ALL, new Locale("en", "GB", ""), false));
assertEquals(10, locales.size());
assertTrue(locales.size()>= 10);
assertTrue(locales.contains(new Locale("", "", "")));
assertTrue(locales.contains(new Locale("en", "", "")));
assertTrue(locales.contains(new Locale("en", "AU", "")));
@@ -146,7 +146,7 @@ public class MLAnaysisModeExpansionTest extends TestCase
locales = new HashSet<Locale>();
locales.addAll(MLAnalysisMode.getLocales(MLAnalysisMode.ALL_COUNTRIES, new Locale("en", "", ""), false));
assertEquals(9, locales.size());
assertTrue(locales.size()>= 9);
assertTrue(locales.contains(new Locale("en", "", "")));
assertTrue(locales.contains(new Locale("en", "AU", "")));
assertTrue(locales.contains(new Locale("en", "GB", "")));
@@ -164,7 +164,7 @@ public class MLAnaysisModeExpansionTest extends TestCase
locales = new HashSet<Locale>();
locales.addAll(MLAnalysisMode.getLocales(MLAnalysisMode.ALL_COUNTRIES_AND_ALL, new Locale("en", "", ""), false));
assertEquals(10, locales.size());
assertTrue(locales.size()>= 10);
assertTrue(locales.contains(new Locale("", "", "")));
assertTrue(locales.contains(new Locale("en", "", "")));
assertTrue(locales.contains(new Locale("en", "AU", "")));
@@ -197,7 +197,7 @@ public class MLAnaysisModeExpansionTest extends TestCase
locales = new HashSet<Locale>();
locales.addAll(MLAnalysisMode.getLocales(MLAnalysisMode.EXACT_COUNRTY, new Locale("en", "", ""), false));
assertEquals(9, locales.size());
assertTrue(locales.size()>= 9);
assertTrue(locales.contains(new Locale("en", "", "")));
assertTrue(locales.contains(new Locale("en", "AU", "")));
assertTrue(locales.contains(new Locale("en", "GB", "")));
@@ -216,7 +216,7 @@ public class MLAnaysisModeExpansionTest extends TestCase
locales = new HashSet<Locale>();
locales.addAll(MLAnalysisMode.getLocales(MLAnalysisMode.EXACT_COUNTRY_AND_ALL, new Locale("en", "", ""), false));
assertEquals(10, locales.size());
assertTrue(locales.size()>= 10);
assertTrue(locales.contains(new Locale("", "", "")));
assertTrue(locales.contains(new Locale("en", "", "")));
assertTrue(locales.contains(new Locale("en", "AU", "")));

View File

@@ -1553,7 +1553,7 @@ public class LuceneIndexerImpl2 extends LuceneBase2 implements LuceneIndexer2
Field.Index.UN_TOKENIZED, Field.TermVector.NO));
doc.add(new Field(attributeName + ".size", Long.toString(contentData.getSize()), Field.Store.NO,
Field.Index.TOKENIZED, Field.TermVector.NO));
// TODO: Use the node locale in preferanced to the system locale
Locale locale = contentData.getLocale();
if (locale == null)
@@ -1692,6 +1692,7 @@ public class LuceneIndexerImpl2 extends LuceneBase2 implements LuceneIndexer2
{
Field.Store fieldStore = store ? Field.Store.YES : Field.Store.NO;
Field.Index fieldIndex;
if (index)
{
if (tokenise)
@@ -1708,42 +1709,45 @@ public class LuceneIndexerImpl2 extends LuceneBase2 implements LuceneIndexer2
fieldIndex = Field.Index.NO;
}
if (isMultiLingual)
if ((fieldIndex != Field.Index.NO) || (fieldStore != Field.Store.NO))
{
MLText mlText = DefaultTypeConverter.INSTANCE.convert(MLText.class, value);
for (Locale locale : mlText.getLocales())
if (isMultiLingual)
{
String localeString = mlText.getValue(locale);
MLText mlText = DefaultTypeConverter.INSTANCE.convert(MLText.class, value);
for (Locale locale : mlText.getLocales())
{
String localeString = mlText.getValue(locale);
StringBuilder builder = new StringBuilder();
builder.append("\u0000").append(locale.toString()).append("\u0000").append(localeString);
doc.add(new Field(attributeName, builder.toString(), fieldStore, fieldIndex,
Field.TermVector.NO));
}
}
else if (isText)
{
// TODO: Use the node locale in preferanced to the system locale
Locale locale = null;
Serializable localeProperty = nodeService.getProperty(nodeRef, ContentModel.PROP_LOCALE);
if (localeProperty != null)
{
locale = DefaultTypeConverter.INSTANCE.convert(Locale.class, localeProperty);
}
if (locale == null)
{
locale = Locale.getDefault();
}
StringBuilder builder = new StringBuilder();
builder.append("\u0000").append(locale.toString()).append("\u0000").append(localeString);
builder.append("\u0000").append(locale.toString()).append("\u0000").append(strValue);
doc.add(new Field(attributeName, builder.toString(), fieldStore, fieldIndex,
Field.TermVector.NO));
}
}
else if (isText)
{
// TODO: Use the node locale in preferanced to the system locale
Locale locale = null;
Serializable localeProperty = nodeService.getProperty(nodeRef, ContentModel.PROP_LOCALE);
if (localeProperty != null)
else
{
locale = DefaultTypeConverter.INSTANCE.convert(Locale.class, localeProperty);
doc.add(new Field(attributeName, strValue, fieldStore, fieldIndex, Field.TermVector.NO));
}
if (locale == null)
{
locale = Locale.getDefault();
}
StringBuilder builder = new StringBuilder();
builder.append("\u0000").append(locale.toString()).append("\u0000").append(strValue);
doc.add(new Field(attributeName, builder.toString(), fieldStore, fieldIndex, Field.TermVector.NO));
}
else
{
doc.add(new Field(attributeName, strValue, fieldStore, fieldIndex, Field.TermVector.NO));
}
}
}