1
0
mirror of https://github.com/gnosygnu/xowa.git synced 2026-03-02 03:49:30 +00:00

'v3.9.2.1'

This commit is contained in:
gnosygnu
2016-09-11 21:49:20 -04:00
parent 232838c732
commit 35d78f6106
310 changed files with 4358 additions and 5116 deletions

View File

@@ -50,22 +50,22 @@ public class Xow_abrv_wm_ {
domain_type = ((Int_obj_ref)o).Val();
}
switch (domain_type) {
case Xow_domain_tid_.Int__wmfblog: return Xow_domain_itm_.Bry__wmforg;
case Xow_domain_tid_.Int__wikidata: return Xow_domain_itm_.Bry__wikidata;
case Xow_domain_tid_.Int__mediawiki: return Xow_domain_itm_.Bry__mediawiki;
case Xow_domain_tid_.Int__commons: return Xow_domain_itm_.Bry__commons;
case Xow_domain_tid_.Int__species: return Xow_domain_itm_.Bry__species;
case Xow_domain_tid_.Int__meta: return Xow_domain_itm_.Bry__meta;
case Xow_domain_tid_.Int__incubator: return Xow_domain_itm_.Bry__incubator;
case Xow_domain_tid_.Int__wikipedia:
case Xow_domain_tid_.Int__wiktionary:
case Xow_domain_tid_.Int__wikisource:
case Xow_domain_tid_.Int__wikibooks:
case Xow_domain_tid_.Int__wikiversity:
case Xow_domain_tid_.Int__wikiquote:
case Xow_domain_tid_.Int__wikinews:
case Xow_domain_tid_.Int__wikivoyage:
case Xow_domain_tid_.Int__wikimedia:
case Xow_domain_tid_.Tid__wmfblog: return Xow_domain_itm_.Bry__wmforg;
case Xow_domain_tid_.Tid__wikidata: return Xow_domain_itm_.Bry__wikidata;
case Xow_domain_tid_.Tid__mediawiki: return Xow_domain_itm_.Bry__mediawiki;
case Xow_domain_tid_.Tid__commons: return Xow_domain_itm_.Bry__commons;
case Xow_domain_tid_.Tid__species: return Xow_domain_itm_.Bry__species;
case Xow_domain_tid_.Tid__meta: return Xow_domain_itm_.Bry__meta;
case Xow_domain_tid_.Tid__incubator: return Xow_domain_itm_.Bry__incubator;
case Xow_domain_tid_.Tid__wikipedia:
case Xow_domain_tid_.Tid__wiktionary:
case Xow_domain_tid_.Tid__wikisource:
case Xow_domain_tid_.Tid__wikibooks:
case Xow_domain_tid_.Tid__wikiversity:
case Xow_domain_tid_.Tid__wikiquote:
case Xow_domain_tid_.Tid__wikinews:
case Xow_domain_tid_.Tid__wikivoyage:
case Xow_domain_tid_.Tid__wikimedia:
if (lang == null) {
lang = Bry_.Mid(src, 0, trv.Pos() + 1); // en
if (Bry_.Has(lang, Byte_ascii.Underline)) // convert "_" to "-"; note that wmf_keys have a strict format of langtype; EX: "zh_yuewiki"; DATE:2014-10-06
@@ -84,14 +84,14 @@ public class Xow_abrv_wm_ {
public static void To_abrv(Bry_bfr bfr, byte[] lang_key, Int_obj_ref domain_type) {
byte[] suffix_bry = (byte[])int_hash.Get_by(domain_type); if (suffix_bry == null) return;
switch (domain_type.Val()) {
case Xow_domain_tid_.Int__commons:
case Xow_domain_tid_.Int__species:
case Xow_domain_tid_.Int__meta:
case Xow_domain_tid_.Int__incubator:
case Xow_domain_tid_.Int__wikidata:
case Xow_domain_tid_.Int__mediawiki:
case Xow_domain_tid_.Int__wmfblog: bfr.Add(suffix_bry); break;
case Xow_domain_tid_.Int__other: break;
case Xow_domain_tid_.Tid__commons:
case Xow_domain_tid_.Tid__species:
case Xow_domain_tid_.Tid__meta:
case Xow_domain_tid_.Tid__incubator:
case Xow_domain_tid_.Tid__wikidata:
case Xow_domain_tid_.Tid__mediawiki:
case Xow_domain_tid_.Tid__wmfblog: bfr.Add(suffix_bry); break;
case Xow_domain_tid_.Tid__other: break;
default: bfr.Add(lang_key).Add(suffix_bry); break;
}
}
@@ -99,22 +99,22 @@ public class Xow_abrv_wm_ {
int tid = domain_itm.Domain_type_id();
byte[] suffix = (byte[])int_hash.Get_by(Int_obj_ref.New(tid)); if (suffix == null) return null;
switch (tid) {
case Xow_domain_tid_.Int__commons:
case Xow_domain_tid_.Int__species:
case Xow_domain_tid_.Int__meta:
case Xow_domain_tid_.Int__incubator:
case Xow_domain_tid_.Int__wikidata:
case Xow_domain_tid_.Int__mediawiki:
case Xow_domain_tid_.Int__wmfblog: return suffix;
case Xow_domain_tid_.Int__wikipedia:
case Xow_domain_tid_.Int__wiktionary:
case Xow_domain_tid_.Int__wikisource:
case Xow_domain_tid_.Int__wikibooks:
case Xow_domain_tid_.Int__wikiversity:
case Xow_domain_tid_.Int__wikiquote:
case Xow_domain_tid_.Int__wikinews:
case Xow_domain_tid_.Int__wikivoyage:
case Xow_domain_tid_.Int__wikimedia: return Bry_.Add(domain_itm.Lang_orig_key(), suffix);
case Xow_domain_tid_.Tid__commons:
case Xow_domain_tid_.Tid__species:
case Xow_domain_tid_.Tid__meta:
case Xow_domain_tid_.Tid__incubator:
case Xow_domain_tid_.Tid__wikidata:
case Xow_domain_tid_.Tid__mediawiki:
case Xow_domain_tid_.Tid__wmfblog: return suffix;
case Xow_domain_tid_.Tid__wikipedia:
case Xow_domain_tid_.Tid__wiktionary:
case Xow_domain_tid_.Tid__wikisource:
case Xow_domain_tid_.Tid__wikibooks:
case Xow_domain_tid_.Tid__wikiversity:
case Xow_domain_tid_.Tid__wikiquote:
case Xow_domain_tid_.Tid__wikinews:
case Xow_domain_tid_.Tid__wikivoyage:
case Xow_domain_tid_.Tid__wikimedia: return Bry_.Add(domain_itm.Lang_orig_key(), suffix);
default: throw Err_.new_unhandled(tid);
}
}
@@ -123,22 +123,22 @@ public class Xow_abrv_wm_ {
private static Btrie_bwd_mgr Init_trie() {
int_hash = Hash_adp_.New();
Btrie_bwd_mgr rv = new Btrie_bwd_mgr(false);
Init_trie_itm(rv, int_hash, "wiki" , Xow_domain_tid_.Int__wikipedia);
Init_trie_itm(rv, int_hash, "wiktionary" , Xow_domain_tid_.Int__wiktionary);
Init_trie_itm(rv, int_hash, "wikisource" , Xow_domain_tid_.Int__wikisource);
Init_trie_itm(rv, int_hash, "wikibooks" , Xow_domain_tid_.Int__wikibooks);
Init_trie_itm(rv, int_hash, "wikiversity" , Xow_domain_tid_.Int__wikiversity);
Init_trie_itm(rv, int_hash, "wikiquote" , Xow_domain_tid_.Int__wikiquote);
Init_trie_itm(rv, int_hash, "wikinews" , Xow_domain_tid_.Int__wikinews);
Init_trie_itm(rv, int_hash, "wikivoyage" , Xow_domain_tid_.Int__wikivoyage);
Init_trie_itm(rv, int_hash, "wikimedia" , Xow_domain_tid_.Int__wikimedia);
Init_trie_itm(rv, int_hash, "commonswiki" , Xow_domain_tid_.Int__commons);
Init_trie_itm(rv, int_hash, "specieswiki" , Xow_domain_tid_.Int__species);
Init_trie_itm(rv, int_hash, "metawiki" , Xow_domain_tid_.Int__meta);
Init_trie_itm(rv, int_hash, "incubatorwiki" , Xow_domain_tid_.Int__incubator);
Init_trie_itm(rv, int_hash, "wikidatawiki" , Xow_domain_tid_.Int__wikidata);
Init_trie_itm(rv, int_hash, "mediawikiwiki" , Xow_domain_tid_.Int__mediawiki);
Init_trie_itm(rv, int_hash, "foundationwiki" , Xow_domain_tid_.Int__wmfblog);
Init_trie_itm(rv, int_hash, "wiki" , Xow_domain_tid_.Tid__wikipedia);
Init_trie_itm(rv, int_hash, "wiktionary" , Xow_domain_tid_.Tid__wiktionary);
Init_trie_itm(rv, int_hash, "wikisource" , Xow_domain_tid_.Tid__wikisource);
Init_trie_itm(rv, int_hash, "wikibooks" , Xow_domain_tid_.Tid__wikibooks);
Init_trie_itm(rv, int_hash, "wikiversity" , Xow_domain_tid_.Tid__wikiversity);
Init_trie_itm(rv, int_hash, "wikiquote" , Xow_domain_tid_.Tid__wikiquote);
Init_trie_itm(rv, int_hash, "wikinews" , Xow_domain_tid_.Tid__wikinews);
Init_trie_itm(rv, int_hash, "wikivoyage" , Xow_domain_tid_.Tid__wikivoyage);
Init_trie_itm(rv, int_hash, "wikimedia" , Xow_domain_tid_.Tid__wikimedia);
Init_trie_itm(rv, int_hash, "commonswiki" , Xow_domain_tid_.Tid__commons);
Init_trie_itm(rv, int_hash, "specieswiki" , Xow_domain_tid_.Tid__species);
Init_trie_itm(rv, int_hash, "metawiki" , Xow_domain_tid_.Tid__meta);
Init_trie_itm(rv, int_hash, "incubatorwiki" , Xow_domain_tid_.Tid__incubator);
Init_trie_itm(rv, int_hash, "wikidatawiki" , Xow_domain_tid_.Tid__wikidata);
Init_trie_itm(rv, int_hash, "mediawikiwiki" , Xow_domain_tid_.Tid__mediawiki);
Init_trie_itm(rv, int_hash, "foundationwiki" , Xow_domain_tid_.Tid__wmfblog);
return rv;
}
private static void Init_trie_itm(Btrie_bwd_mgr trie, Hash_adp hash, String str, int tid) {
@@ -161,13 +161,13 @@ class Xow_abrv_wm_override {
private static Hash_adp_bry itm_hash__make() {
Hash_adp_bry rv = Hash_adp_bry.cs();
lang_hash = Hash_adp_bry.cs();
itm_hash__add(rv, lang_hash, "ar.wikimedia.org", "arwikimedia", "ar", Xol_lang_stub_.Id_es, Xow_domain_tid_.Int__wikimedia); // NOTE: ar means Argentina not Arabic
itm_hash__add(rv, lang_hash, "br.wikimedia.org", "brwikimedia", "br", Xol_lang_stub_.Id_es, Xow_domain_tid_.Int__wikimedia); // NOTE: br means Brazil not Breto
itm_hash__add(rv, lang_hash, "co.wikimedia.org", "cowikimedia", "co", Xol_lang_stub_.Id_es, Xow_domain_tid_.Int__wikimedia); // NOTE: co means Columbia not Corsican
itm_hash__add(rv, lang_hash, "ua.wikimedia.org", "ukwikimedia", "ua", Xol_lang_stub_.Id_uk, Xow_domain_tid_.Int__wikimedia); // NOTE: ua means Ukrainian; NOTE: uk does not means United Kingdom (which redirects to https://wikimedia.org.uk)
itm_hash__add(rv, lang_hash, "ca.wikimedia.org", "cawikimedia", "ca", Xol_lang_stub_.Id_en, Xow_domain_tid_.Int__wikimedia); // NOTE: ca means Canada not Catalan
itm_hash__add(rv, lang_hash, "be.wikimedia.org", "bewikimedia", "be", Xol_lang_stub_.Id_en, Xow_domain_tid_.Int__wikimedia); // NOTE: be means Belgium not Belarusian
itm_hash__add(rv, lang_hash, "se.wikimedia.org", "sewikimedia", "se", Xol_lang_stub_.Id_sv, Xow_domain_tid_.Int__wikimedia); // NOTE: se means Swedish not Northern Sami
itm_hash__add(rv, lang_hash, "ar.wikimedia.org", "arwikimedia", "ar", Xol_lang_stub_.Id_es, Xow_domain_tid_.Tid__wikimedia); // NOTE: ar means Argentina not Arabic
itm_hash__add(rv, lang_hash, "br.wikimedia.org", "brwikimedia", "br", Xol_lang_stub_.Id_es, Xow_domain_tid_.Tid__wikimedia); // NOTE: br means Brazil not Breto
itm_hash__add(rv, lang_hash, "co.wikimedia.org", "cowikimedia", "co", Xol_lang_stub_.Id_es, Xow_domain_tid_.Tid__wikimedia); // NOTE: co means Columbia not Corsican
itm_hash__add(rv, lang_hash, "ua.wikimedia.org", "ukwikimedia", "ua", Xol_lang_stub_.Id_uk, Xow_domain_tid_.Tid__wikimedia); // NOTE: ua means Ukrainian; NOTE: uk does not means United Kingdom (which redirects to https://wikimedia.org.uk)
itm_hash__add(rv, lang_hash, "ca.wikimedia.org", "cawikimedia", "ca", Xol_lang_stub_.Id_en, Xow_domain_tid_.Tid__wikimedia); // NOTE: ca means Canada not Catalan
itm_hash__add(rv, lang_hash, "be.wikimedia.org", "bewikimedia", "be", Xol_lang_stub_.Id_en, Xow_domain_tid_.Tid__wikimedia); // NOTE: be means Belgium not Belarusian
itm_hash__add(rv, lang_hash, "se.wikimedia.org", "sewikimedia", "se", Xol_lang_stub_.Id_sv, Xow_domain_tid_.Tid__wikimedia); // NOTE: se means Swedish not Northern Sami
return rv;
}
private static void itm_hash__add(Hash_adp_bry hash, Hash_adp_bry lang_hash, String domain, String raw, String lang_domain, int lang_actl, int domain_type) {

View File

@@ -20,28 +20,28 @@ import org.junit.*; import gplx.xowa.langs.*;
public class Xow_abrv_wm_tst {
private Xow_abrv_wm_fxt fxt = new Xow_abrv_wm_fxt();
@Test public void Parse() {
fxt.Test_parse("foundationwiki" , Xol_lang_stub_.Id__intl , Xow_domain_tid_.Int__wmfblog);
fxt.Test_parse("wikidatawiki" , Xol_lang_stub_.Id__intl , Xow_domain_tid_.Int__wikidata);
fxt.Test_parse("mediawikiwiki" , Xol_lang_stub_.Id__intl , Xow_domain_tid_.Int__mediawiki);
fxt.Test_parse("commonswiki" , Xol_lang_stub_.Id__intl , Xow_domain_tid_.Int__commons);
fxt.Test_parse("specieswiki" , Xol_lang_stub_.Id__intl , Xow_domain_tid_.Int__species);
fxt.Test_parse("metawiki" , Xol_lang_stub_.Id__intl , Xow_domain_tid_.Int__meta);
fxt.Test_parse("incubatorwiki" , Xol_lang_stub_.Id__intl , Xow_domain_tid_.Int__incubator);
fxt.Test_parse("enwiki" , Xol_lang_stub_.Id_en , Xow_domain_tid_.Int__wikipedia);
fxt.Test_parse("enwiktionary" , Xol_lang_stub_.Id_en , Xow_domain_tid_.Int__wiktionary);
fxt.Test_parse("enwikisource" , Xol_lang_stub_.Id_en , Xow_domain_tid_.Int__wikisource);
fxt.Test_parse("enwikibooks" , Xol_lang_stub_.Id_en , Xow_domain_tid_.Int__wikibooks);
fxt.Test_parse("enwikiversity" , Xol_lang_stub_.Id_en , Xow_domain_tid_.Int__wikiversity);
fxt.Test_parse("enwikiquote" , Xol_lang_stub_.Id_en , Xow_domain_tid_.Int__wikiquote);
fxt.Test_parse("enwikinews" , Xol_lang_stub_.Id_en , Xow_domain_tid_.Int__wikinews);
fxt.Test_parse("enwikivoyage" , Xol_lang_stub_.Id_en , Xow_domain_tid_.Int__wikivoyage);
fxt.Test_parse("frwiki" , Xol_lang_stub_.Id_fr , Xow_domain_tid_.Int__wikipedia);
fxt.Test_parse("foundationwiki" , Xol_lang_stub_.Id__intl , Xow_domain_tid_.Tid__wmfblog);
fxt.Test_parse("wikidatawiki" , Xol_lang_stub_.Id__intl , Xow_domain_tid_.Tid__wikidata);
fxt.Test_parse("mediawikiwiki" , Xol_lang_stub_.Id__intl , Xow_domain_tid_.Tid__mediawiki);
fxt.Test_parse("commonswiki" , Xol_lang_stub_.Id__intl , Xow_domain_tid_.Tid__commons);
fxt.Test_parse("specieswiki" , Xol_lang_stub_.Id__intl , Xow_domain_tid_.Tid__species);
fxt.Test_parse("metawiki" , Xol_lang_stub_.Id__intl , Xow_domain_tid_.Tid__meta);
fxt.Test_parse("incubatorwiki" , Xol_lang_stub_.Id__intl , Xow_domain_tid_.Tid__incubator);
fxt.Test_parse("enwiki" , Xol_lang_stub_.Id_en , Xow_domain_tid_.Tid__wikipedia);
fxt.Test_parse("enwiktionary" , Xol_lang_stub_.Id_en , Xow_domain_tid_.Tid__wiktionary);
fxt.Test_parse("enwikisource" , Xol_lang_stub_.Id_en , Xow_domain_tid_.Tid__wikisource);
fxt.Test_parse("enwikibooks" , Xol_lang_stub_.Id_en , Xow_domain_tid_.Tid__wikibooks);
fxt.Test_parse("enwikiversity" , Xol_lang_stub_.Id_en , Xow_domain_tid_.Tid__wikiversity);
fxt.Test_parse("enwikiquote" , Xol_lang_stub_.Id_en , Xow_domain_tid_.Tid__wikiquote);
fxt.Test_parse("enwikinews" , Xol_lang_stub_.Id_en , Xow_domain_tid_.Tid__wikinews);
fxt.Test_parse("enwikivoyage" , Xol_lang_stub_.Id_en , Xow_domain_tid_.Tid__wikivoyage);
fxt.Test_parse("frwiki" , Xol_lang_stub_.Id_fr , Xow_domain_tid_.Tid__wikipedia);
fxt.Test_parse_null("unknown");
fxt.Test_parse("plwikimedia" , Xol_lang_stub_.Id_pl , Xow_domain_tid_.Int__wikimedia);
fxt.Test_parse("plwikimedia" , Xol_lang_stub_.Id_pl , Xow_domain_tid_.Tid__wikimedia);
}
@Test public void Parse_override() {
fxt.Test_parse("arwikimedia" , Xol_lang_stub_.Id_es , Xow_domain_tid_.Int__wikimedia);
fxt.Test_parse("ukwikimedia" , Xol_lang_stub_.Id_uk , Xow_domain_tid_.Int__wikimedia);
fxt.Test_parse("arwikimedia" , Xol_lang_stub_.Id_es , Xow_domain_tid_.Tid__wikimedia);
fxt.Test_parse("ukwikimedia" , Xol_lang_stub_.Id_uk , Xow_domain_tid_.Tid__wikimedia);
}
@Test public void To_domain_itm() {
fxt.Test_to_domain_itm("enwiki" , "en" , "en.wikipedia.org");
@@ -59,7 +59,7 @@ public class Xow_abrv_wm_tst {
fxt.Test_to_abrv("commons.wikimedia.org" , "commonswiki");
}
@Test public void To_abrv_by_lang() {
fxt.Test_to_abrv_by_lang("en", Xow_domain_tid_.Int__wikipedia, "enwiki");
fxt.Test_to_abrv_by_lang("en", Xow_domain_tid_.Tid__wikipedia, "enwiki");
}
}
class Xow_abrv_wm_fxt {

View File

@@ -19,7 +19,7 @@ package gplx.xowa.wikis.domains; import gplx.*; import gplx.xowa.*; import gplx.
import gplx.core.primitives.*;
import gplx.xowa.langs.*;
public class Xow_domain_itm_ {
public static final Xow_domain_itm[] Ary_empty = new Xow_domain_itm[0];
public static final Xow_domain_itm[] Ary_empty = new Xow_domain_itm[0];
public static Xow_domain_itm parse(byte[] raw) {
/*
~{type}.org EX: wikimediafoundation
@@ -37,43 +37,43 @@ public class Xow_domain_itm_ {
int dot_1 = Bry_find_.Find_fwd(raw, Byte_ascii.Dot, dot_0 + 1, raw_len);
if (dot_1 == Bry_find_.Not_found) { // 1 dot; check for "wikimediafoundation.org"
return Bry_.Match(raw, 0, dot_0, Xow_domain_tid_.Bry__wmforg)
? Xow_domain_itm.new_(raw, Xow_domain_tid_.Int__wmfblog, Xol_lang_stub_.Key__unknown)
? Xow_domain_itm.new_(raw, Xow_domain_tid_.Tid__wmfblog, Xol_lang_stub_.Key__unknown)
: new_other(raw);
}
// 2 dots
int seg_1_tid = Xow_domain_tid_.Get_type_as_tid(raw, dot_0 + 1, dot_1); // parse middle; EX: ".wikipedia."
if (seg_1_tid == Xow_domain_tid_.Int__null) return new_other(raw); // seg_1 is unknown; return other;
if (seg_1_tid == Xow_domain_tid_.Tid__null) return new_other(raw); // seg_1 is unknown; return other;
switch (seg_1_tid) {
case Xow_domain_tid_.Int__wikipedia: case Xow_domain_tid_.Int__wiktionary: case Xow_domain_tid_.Int__wikisource: case Xow_domain_tid_.Int__wikibooks:
case Xow_domain_tid_.Int__wikiversity: case Xow_domain_tid_.Int__wikiquote: case Xow_domain_tid_.Int__wikinews: case Xow_domain_tid_.Int__wikivoyage: // ~{lang}.~{type}.org
case Xow_domain_tid_.Tid__wikipedia: case Xow_domain_tid_.Tid__wiktionary: case Xow_domain_tid_.Tid__wikisource: case Xow_domain_tid_.Tid__wikibooks:
case Xow_domain_tid_.Tid__wikiversity: case Xow_domain_tid_.Tid__wikiquote: case Xow_domain_tid_.Tid__wikinews: case Xow_domain_tid_.Tid__wikivoyage: // ~{lang}.~{type}.org
byte[] lang_orig = Bry_.Mid(raw, 0, dot_0);
byte[] lang_actl = Get_lang_code_for_mw_messages_file(lang_orig);
return Xow_domain_itm.new_(raw, seg_1_tid, lang_actl, lang_orig); // NOTE: seg_tids must match wiki_tids
case Xow_domain_tid_.Int__wikidata: case Xow_domain_tid_.Int__mediawiki:// ~www.~{type}.org
case Xow_domain_tid_.Tid__wikidata: case Xow_domain_tid_.Tid__mediawiki:// ~www.~{type}.org
return Xow_domain_itm.new_(raw, seg_1_tid, Xol_lang_stub_.Key__unknown);
case Xow_domain_tid_.Int__wikimedia: // ~{type}.wikimedia.org;
case Xow_domain_tid_.Tid__wikimedia: // ~{type}.wikimedia.org;
int seg_0_tid = Xow_domain_tid_.Get_type_as_tid(raw, 0, dot_0); // try to get "incubator", "meta", etc..
if (seg_0_tid == Xow_domain_tid_.Int__null) { // not a known name; try language
if (seg_0_tid == Xow_domain_tid_.Tid__null) { // not a known name; try language
byte[] lang_override = Xow_abrv_wm_override.To_lang_key_or_null(raw); // handle "lang-like" wikimedia domains like "ar.wikimedia.org" which is actually to "Argentina Wikimedia"
if (lang_override == null) {
Xol_lang_stub wikimedia_lang = Xol_lang_stub_.Get_by_key_or_null(raw, 0, dot_0);
return wikimedia_lang == null ? new_other(raw) : Xow_domain_itm.new_(raw, Xow_domain_tid_.Int__wikimedia, wikimedia_lang.Key());
return wikimedia_lang == null ? new_other(raw) : Xow_domain_itm.new_(raw, Xow_domain_tid_.Tid__wikimedia, wikimedia_lang.Key());
}
else
return Xow_domain_itm.new_(raw, Xow_domain_tid_.Int__wikimedia, lang_override, Bry_.Mid(raw, 0, dot_0));
return Xow_domain_itm.new_(raw, Xow_domain_tid_.Tid__wikimedia, lang_override, Bry_.Mid(raw, 0, dot_0));
}
switch (seg_0_tid) {
case Xow_domain_tid_.Int__commons: case Xow_domain_tid_.Int__species: case Xow_domain_tid_.Int__meta: case Xow_domain_tid_.Int__incubator:
case Xow_domain_tid_.Tid__commons: case Xow_domain_tid_.Tid__species: case Xow_domain_tid_.Tid__meta: case Xow_domain_tid_.Tid__incubator:
return Xow_domain_itm.new_(raw, seg_0_tid, Xol_lang_stub_.Key__unknown); // NOTE: seg_tids must match wiki_tids; NOTE: lang_key is "en" (really, "multi" but making things easier)
default:
return new_other(raw);
}
case Xow_domain_tid_.Int__other:
case Xow_domain_tid_.Tid__other:
default:
return new_other(raw);
}
}
private static Xow_domain_itm new_other(byte[] raw) {return Xow_domain_itm.new_(raw, Xow_domain_tid_.Int__other, Xol_lang_stub_.Key__unknown);}
private static Xow_domain_itm new_other(byte[] raw) {return Xow_domain_itm.new_(raw, Xow_domain_tid_.Tid__other, Xol_lang_stub_.Key__unknown);}
private static byte[] Get_lang_code_for_mw_messages_file(byte[] v) {
Object o = alt_domain__lang_by_subdomain.Get_by_bry(v);
return o == null ? v : (byte[])o;
@@ -82,12 +82,12 @@ public class Xow_domain_itm_ {
Object o = alt_domain__subdomain_by_lang.Get_by_bry(lang);
return o == null ? lang : (byte[])o;
}
private static final Hash_adp_bry alt_domain__lang_by_subdomain = Hash_adp_bry.ci_a7() // ASCII:lang_code
private static final Hash_adp_bry alt_domain__lang_by_subdomain = Hash_adp_bry.ci_a7() // ASCII:lang_code
.Add_str_obj("simple" , Bry_.new_a7("en"))
.Add_str_obj("zh-classical" , Bry_.new_a7("lzh"))
.Add_str_obj("no" , Bry_.new_a7("nb"))
;
private static final Hash_adp_bry alt_domain__subdomain_by_lang = Hash_adp_bry.ci_a7() // ASCII:lang_code
private static final Hash_adp_bry alt_domain__subdomain_by_lang = Hash_adp_bry.ci_a7() // ASCII:lang_code
.Add_str_obj("lzh" , Bry_.new_a7("zh-classical"))
.Add_str_obj("nb" , Bry_.new_a7("no"))
;
@@ -102,7 +102,7 @@ public class Xow_domain_itm_ {
, Str__wmforg = "wikimediafoundation.org"
, Str__home = "home"
;
public static final byte[]
public static final byte[]
Bry__enwiki = Bry_.new_a7(Str__enwiki)
, Bry__species = Bry_.new_a7(Str__species)
, Bry__commons = Bry_.new_a7(Str__commons)
@@ -114,5 +114,5 @@ public class Xow_domain_itm_ {
, Bry__home = Bry_.new_a7(Str__home)
, Bry__simplewiki = Bry_.new_a7("simple.wikipedia.org")
;
public static final byte[] Seg__org = Bry_.new_a7("org"), Seg__www = Bry_.new_a7("www");
public static final byte[] Seg__org = Bry_.new_a7("org"), Seg__www = Bry_.new_a7("www");
}

View File

@@ -18,19 +18,19 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
package gplx.xowa.wikis.domains; import gplx.*; import gplx.xowa.*; import gplx.xowa.wikis.*;
import org.junit.*;
public class Xow_domain_itm_tst {
private final Xow_domain_fxt fxt = new Xow_domain_fxt();
@Test public void Parse_en_wikipedia() {fxt.Test_parse("en.wikipedia.org" , "en" , "en" , Xow_domain_tid_.Int__wikipedia);}
@Test public void Parse_fr_wikipedia() {fxt.Test_parse("fr.wikipedia.org" , "fr" , "fr" , Xow_domain_tid_.Int__wikipedia);}
@Test public void Parse_en_wiktionary() {fxt.Test_parse("en.wiktionary.org" , "en" , "en" , Xow_domain_tid_.Int__wiktionary);}
@Test public void Parse_zh_classical_wikipedia() {fxt.Test_parse("zh-classical.wikipedia.org" , "zh-classical" , "lzh" , Xow_domain_tid_.Int__wikipedia);}
@Test public void Parse_commons() {fxt.Test_parse("commons.wikimedia.org" , "" , "" , Xow_domain_tid_.Int__commons);}
@Test public void Parse_species() {fxt.Test_parse("species.wikimedia.org" , "" , "" , Xow_domain_tid_.Int__species);}
@Test public void Parse_ru_wikimedia_org() {fxt.Test_parse("ru.wikimedia.org" , "ru" , "ru" , Xow_domain_tid_.Int__wikimedia);}
@Test public void Parse_home() {fxt.Test_parse("home" , "" , "" , Xow_domain_tid_.Int__home);}
@Test public void Parse_other() {fxt.Test_parse("other.wiki" , "" , "" , Xow_domain_tid_.Int__other);}
@Test public void Parse_ua_wikimedia_org() {fxt.Test_parse("ua.wikimedia.org" , "ua" , "uk" , Xow_domain_tid_.Int__wikimedia);}
@Test public void Parse_ar_wikimedia_org() {fxt.Test_parse("ar.wikimedia.org" , "ar" , "es" , Xow_domain_tid_.Int__wikimedia);}
@Test public void Parse_blank() {fxt.Test_parse("" , "" , "" , Xow_domain_tid_.Int__other);}
private final Xow_domain_fxt fxt = new Xow_domain_fxt();
@Test public void Parse_en_wikipedia() {fxt.Test_parse("en.wikipedia.org" , "en" , "en" , Xow_domain_tid_.Tid__wikipedia);}
@Test public void Parse_fr_wikipedia() {fxt.Test_parse("fr.wikipedia.org" , "fr" , "fr" , Xow_domain_tid_.Tid__wikipedia);}
@Test public void Parse_en_wiktionary() {fxt.Test_parse("en.wiktionary.org" , "en" , "en" , Xow_domain_tid_.Tid__wiktionary);}
@Test public void Parse_zh_classical_wikipedia() {fxt.Test_parse("zh-classical.wikipedia.org" , "zh-classical" , "lzh" , Xow_domain_tid_.Tid__wikipedia);}
@Test public void Parse_commons() {fxt.Test_parse("commons.wikimedia.org" , "" , "" , Xow_domain_tid_.Tid__commons);}
@Test public void Parse_species() {fxt.Test_parse("species.wikimedia.org" , "" , "" , Xow_domain_tid_.Tid__species);}
@Test public void Parse_ru_wikimedia_org() {fxt.Test_parse("ru.wikimedia.org" , "ru" , "ru" , Xow_domain_tid_.Tid__wikimedia);}
@Test public void Parse_home() {fxt.Test_parse("home" , "" , "" , Xow_domain_tid_.Tid__home);}
@Test public void Parse_other() {fxt.Test_parse("other.wiki" , "" , "" , Xow_domain_tid_.Tid__other);}
@Test public void Parse_ua_wikimedia_org() {fxt.Test_parse("ua.wikimedia.org" , "ua" , "uk" , Xow_domain_tid_.Tid__wikimedia);}
@Test public void Parse_ar_wikimedia_org() {fxt.Test_parse("ar.wikimedia.org" , "ar" , "es" , Xow_domain_tid_.Tid__wikimedia);}
@Test public void Parse_blank() {fxt.Test_parse("" , "" , "" , Xow_domain_tid_.Tid__other);}
}
class Xow_domain_fxt {
public void Test_parse(String domain, String expd_orig_lang, String expd_actl_lang, int expd_tid) {

View File

@@ -845,6 +845,7 @@ public class Xow_domain_regy {
, "azb.wikipedia.org"
, "ady.wikipedia.org"
, "jam.wikipedia.org"
, "tcy.wikipedia.org"
};
//, "als.wikisource.org"
//, "als.wikinews.org"

View File

@@ -21,20 +21,19 @@ public class Xow_domain_tid {
this.multi_lang = multi_lang; this.src = src; this.tid = tid; this.key_bry = key_bry; this.abrv = abrv; this.domain_bry = domain_bry;
this.key_str = String_.new_u8(key_bry);
}
public boolean Multi_lang() {return multi_lang;} private final boolean multi_lang; // EX: y
public int Src() {return src;} private final int src; // EX: 1 (wm,mw,wk,xo)
public int Tid() {return tid;} private final int tid; // EX: 1 (Tid_wikipedia)
public String Key_str() {return key_str;} private final String key_str; // EX: wikipedia
public byte[] Key_bry() {return key_bry;} private final byte[] key_bry; // EX: wikipedia
public byte[] Abrv() {return abrv;} private final byte[] abrv; // EX: w
public boolean Multi_lang() {return multi_lang;} private final boolean multi_lang; // EX: y
public int Src() {return src;} private final int src; // EX: 1 (wm,mw,wk,xo)
public int Tid() {return tid;} private final int tid; // EX: 1 (Tid_wikipedia)
public String Key_str() {return key_str;} private final String key_str; // EX: wikipedia
public byte[] Key_bry() {return key_bry;} private final byte[] key_bry; // EX: wikipedia
public byte[] Abrv() {return abrv;} private final byte[] abrv; // EX: w
public byte[] Domain_bry() {return domain_bry;} private byte[] domain_bry; // EX: .wikipedia.org
public byte[] Display_bry() {return Bry_.Ucase__1st(key_bry);} // EX: Wikipedia
}
class Xow_domain_type_src_ {
public static final int
Int__wmf = 1 // administered by wmf; wikipedia, etc.
, Int__wikia = 2 // *.wikia.com
, Int__mw = 3 // mediawiki installations not part of wmf, wikia
, Int__xowa = 4 // xowa
Src__wmf = 1 // administered by wmf; wikipedia, etc.
, Src__wikia = 2 // *.wikia.com
, Src__mw = 3 // mediawiki installations not part of wmf, wikia
, Src__xowa = 4 // xowa
;
}

View File

@@ -18,26 +18,26 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
package gplx.xowa.wikis.domains; import gplx.*; import gplx.xowa.*; import gplx.xowa.wikis.*;
public class Xow_domain_tid_ {
public static final int
Int__null = 0
, Int__wikipedia = 1
, Int__wiktionary = 2
, Int__wikisource = 3
, Int__wikivoyage = 4
, Int__wikiquote = 5
, Int__wikibooks = 6
, Int__wikiversity = 7
, Int__wikinews = 8
, Int__wikimedia = 9
, Int__species = 10
, Int__commons = 11
, Int__wikidata = 12
, Int__mediawiki = 13
, Int__meta = 14
, Int__incubator = 15
, Int__wmfblog = 16
, Int__home = 17
, Int__other = 18
, Int___len = 19
Tid__null = 0
, Tid__wikipedia = 1
, Tid__wiktionary = 2
, Tid__wikisource = 3
, Tid__wikivoyage = 4
, Tid__wikiquote = 5
, Tid__wikibooks = 6
, Tid__wikiversity = 7
, Tid__wikinews = 8
, Tid__wikimedia = 9
, Tid__species = 10
, Tid__commons = 11
, Tid__wikidata = 12
, Tid__mediawiki = 13
, Tid__meta = 14
, Tid__incubator = 15
, Tid__wmfblog = 16
, Tid__home = 17
, Tid__other = 18
, Tid___len = 19
;
public static final String // SERIALIZED:xowa.gfs
Str__wikipedia = "wikipedia"
@@ -79,28 +79,28 @@ public class Xow_domain_tid_ {
, Bry__home = Bry_.new_a7(Str__home)
, Bry__other = Bry_.new_a7(Str__other)
;
private static final Xow_domain_tid[] ary = new Xow_domain_tid[Int___len];
private static final Xow_domain_tid[] ary = new Xow_domain_tid[Tid___len];
private static final Hash_adp_bry type_regy = Hash_adp_bry.ci_a7(); // LOC:must go before new_()
private static final Hash_adp_bry abrv_regy = Hash_adp_bry.cs(); // LOC:must go before new_()
public static final Xow_domain_tid
Itm__wikipedia = new_(Bool_.Y , Xow_domain_type_src_.Int__wmf , Int__wikipedia , Bry__wikipedia , "w" , ".wikipedia.org")
, Itm__wiktionary = new_(Bool_.Y , Xow_domain_type_src_.Int__wmf , Int__wiktionary , Bry__wiktionary , "d" , ".wiktionary.org")
, Itm__wikisource = new_(Bool_.Y , Xow_domain_type_src_.Int__wmf , Int__wikisource , Bry__wikisource , "s" , ".wikisource.org")
, Itm__wikivoyage = new_(Bool_.Y , Xow_domain_type_src_.Int__wmf , Int__wikivoyage , Bry__wikivoyage , "v" , ".wikivoyage.org")
, Itm__wikiquote = new_(Bool_.Y , Xow_domain_type_src_.Int__wmf , Int__wikiquote , Bry__wikiquote , "q" , ".wikiquote.org")
, Itm__wikibooks = new_(Bool_.Y , Xow_domain_type_src_.Int__wmf , Int__wikibooks , Bry__wikibooks , "b" , ".wikibooks.org")
, Itm__wikiversity = new_(Bool_.Y , Xow_domain_type_src_.Int__wmf , Int__wikiversity , Bry__wikiversity , "u" , ".wikiversity.org")
, Itm__wikinews = new_(Bool_.Y , Xow_domain_type_src_.Int__wmf , Int__wikinews , Bry__wikinews , "n" , ".wikinews.org")
, Itm__wikimedia = new_(Bool_.Y , Xow_domain_type_src_.Int__wmf , Int__wikimedia , Bry__wikimedia , "m" , ".wikimedia.org")
, Itm__species = new_(Bool_.N , Xow_domain_type_src_.Int__wmf , Int__species , Bry__species , "species" , Xow_domain_itm_.Str__species)
, Itm__commons = new_(Bool_.N , Xow_domain_type_src_.Int__wmf , Int__commons , Bry__commons , "c" , Xow_domain_itm_.Str__commons)
, Itm__wikidata = new_(Bool_.N , Xow_domain_type_src_.Int__wmf , Int__wikidata , Bry__wikidata , "wd" , Xow_domain_itm_.Str__wikidata)
, Itm__mediawiki = new_(Bool_.N , Xow_domain_type_src_.Int__wmf , Int__mediawiki , Bry__mediawiki , "mw" , Xow_domain_itm_.Str__mediawiki)
, Itm__meta = new_(Bool_.N , Xow_domain_type_src_.Int__wmf , Int__meta , Bry__meta , "meta" , Xow_domain_itm_.Str__meta)
, Itm__incubator = new_(Bool_.N , Xow_domain_type_src_.Int__wmf , Int__incubator , Bry__incubator , "qb" , Xow_domain_itm_.Str__incubator)
, Itm__wmforg = new_(Bool_.N , Xow_domain_type_src_.Int__wmf , Int__wmfblog , Bry__wmforg , "wmf" , Xow_domain_itm_.Str__wmforg)
, Itm__home = new_(Bool_.N , Xow_domain_type_src_.Int__xowa, Int__home , Bry__home , "home" , Xow_domain_itm_.Str__home)
, Itm__other = new_(Bool_.N , Xow_domain_type_src_.Int__mw , Int__other , Bry__other , "" , "")
Itm__wikipedia = new_(Bool_.Y , Xow_domain_tid.Src__wmf , Tid__wikipedia , Bry__wikipedia , "w" , ".wikipedia.org")
, Itm__wiktionary = new_(Bool_.Y , Xow_domain_tid.Src__wmf , Tid__wiktionary , Bry__wiktionary , "d" , ".wiktionary.org")
, Itm__wikisource = new_(Bool_.Y , Xow_domain_tid.Src__wmf , Tid__wikisource , Bry__wikisource , "s" , ".wikisource.org")
, Itm__wikivoyage = new_(Bool_.Y , Xow_domain_tid.Src__wmf , Tid__wikivoyage , Bry__wikivoyage , "v" , ".wikivoyage.org")
, Itm__wikiquote = new_(Bool_.Y , Xow_domain_tid.Src__wmf , Tid__wikiquote , Bry__wikiquote , "q" , ".wikiquote.org")
, Itm__wikibooks = new_(Bool_.Y , Xow_domain_tid.Src__wmf , Tid__wikibooks , Bry__wikibooks , "b" , ".wikibooks.org")
, Itm__wikiversity = new_(Bool_.Y , Xow_domain_tid.Src__wmf , Tid__wikiversity , Bry__wikiversity , "u" , ".wikiversity.org")
, Itm__wikinews = new_(Bool_.Y , Xow_domain_tid.Src__wmf , Tid__wikinews , Bry__wikinews , "n" , ".wikinews.org")
, Itm__wikimedia = new_(Bool_.Y , Xow_domain_tid.Src__wmf , Tid__wikimedia , Bry__wikimedia , "m" , ".wikimedia.org")
, Itm__species = new_(Bool_.N , Xow_domain_tid.Src__wmf , Tid__species , Bry__species , "species" , Xow_domain_itm_.Str__species)
, Itm__commons = new_(Bool_.N , Xow_domain_tid.Src__wmf , Tid__commons , Bry__commons , "c" , Xow_domain_itm_.Str__commons)
, Itm__wikidata = new_(Bool_.N , Xow_domain_tid.Src__wmf , Tid__wikidata , Bry__wikidata , "wd" , Xow_domain_itm_.Str__wikidata)
, Itm__mediawiki = new_(Bool_.N , Xow_domain_tid.Src__wmf , Tid__mediawiki , Bry__mediawiki , "mw" , Xow_domain_itm_.Str__mediawiki)
, Itm__meta = new_(Bool_.N , Xow_domain_tid.Src__wmf , Tid__meta , Bry__meta , "meta" , Xow_domain_itm_.Str__meta)
, Itm__incubator = new_(Bool_.N , Xow_domain_tid.Src__wmf , Tid__incubator , Bry__incubator , "qb" , Xow_domain_itm_.Str__incubator)
, Itm__wmforg = new_(Bool_.N , Xow_domain_tid.Src__wmf , Tid__wmfblog , Bry__wmforg , "wmf" , Xow_domain_itm_.Str__wmforg)
, Itm__home = new_(Bool_.N , Xow_domain_tid.Src__xowa, Tid__home , Bry__home , "home" , Xow_domain_itm_.Str__home)
, Itm__other = new_(Bool_.N , Xow_domain_tid.Src__mw , Tid__other , Bry__other , "" , "")
;
private static Xow_domain_tid new_(boolean multi_lang, int src, int tid, byte[] key_bry, String abrv_xo_str, String domain_bry) {
byte[] abrv_xo_bry = Bry_.new_u8(abrv_xo_str);
@@ -116,6 +116,6 @@ public class Xow_domain_tid_ {
public static int Get_type_as_tid(byte[] src) {return Get_type_as_tid(src, 0, src.length);}
public static int Get_type_as_tid(byte[] src, int bgn, int end) {
Object o = type_regy.Get_by_mid(src, bgn, end);
return o == null ? Xow_domain_tid_.Int__null : ((Xow_domain_tid)o).Tid();
return o == null ? Xow_domain_tid_.Tid__null : ((Xow_domain_tid)o).Tid();
}
}

View File

@@ -44,23 +44,23 @@ public class Xow_domain_uid_ {
public static int To_int(Xow_domain_itm domain) {
int domain_tid = 0;
switch (domain.Domain_type_id()) {
case Xow_domain_tid_.Int__home: return Tid_xowa;
case Xow_domain_tid_.Int__commons: return Tid_commons;
case Xow_domain_tid_.Int__wikidata: return Tid_wikidata;
case Xow_domain_tid_.Int__mediawiki: return Tid_mediawiki;
case Xow_domain_tid_.Int__meta: return Tid_meta;
case Xow_domain_tid_.Int__incubator: return Tid_incubator;
case Xow_domain_tid_.Int__wmfblog: return Tid_wmfblog;
case Xow_domain_tid_.Int__species: return Tid_species;
case Xow_domain_tid_.Int__wikipedia: domain_tid = Tid_sub_wikipedia; break;
case Xow_domain_tid_.Int__wiktionary: domain_tid = Tid_sub_wiktionary; break;
case Xow_domain_tid_.Int__wikisource: domain_tid = Tid_sub_wikisource; break;
case Xow_domain_tid_.Int__wikivoyage: domain_tid = Tid_sub_wikivoyage; break;
case Xow_domain_tid_.Int__wikiquote: domain_tid = Tid_sub_wikiquote; break;
case Xow_domain_tid_.Int__wikibooks: domain_tid = Tid_sub_wikibooks; break;
case Xow_domain_tid_.Int__wikiversity: domain_tid = Tid_sub_wikiversity; break;
case Xow_domain_tid_.Int__wikinews: domain_tid = Tid_sub_wikinews; break;
case Xow_domain_tid_.Int__wikimedia: domain_tid = Tid_sub_wikimedia; break;
case Xow_domain_tid_.Tid__home: return Tid_xowa;
case Xow_domain_tid_.Tid__commons: return Tid_commons;
case Xow_domain_tid_.Tid__wikidata: return Tid_wikidata;
case Xow_domain_tid_.Tid__mediawiki: return Tid_mediawiki;
case Xow_domain_tid_.Tid__meta: return Tid_meta;
case Xow_domain_tid_.Tid__incubator: return Tid_incubator;
case Xow_domain_tid_.Tid__wmfblog: return Tid_wmfblog;
case Xow_domain_tid_.Tid__species: return Tid_species;
case Xow_domain_tid_.Tid__wikipedia: domain_tid = Tid_sub_wikipedia; break;
case Xow_domain_tid_.Tid__wiktionary: domain_tid = Tid_sub_wiktionary; break;
case Xow_domain_tid_.Tid__wikisource: domain_tid = Tid_sub_wikisource; break;
case Xow_domain_tid_.Tid__wikivoyage: domain_tid = Tid_sub_wikivoyage; break;
case Xow_domain_tid_.Tid__wikiquote: domain_tid = Tid_sub_wikiquote; break;
case Xow_domain_tid_.Tid__wikibooks: domain_tid = Tid_sub_wikibooks; break;
case Xow_domain_tid_.Tid__wikiversity: domain_tid = Tid_sub_wikiversity; break;
case Xow_domain_tid_.Tid__wikinews: domain_tid = Tid_sub_wikinews; break;
case Xow_domain_tid_.Tid__wikimedia: domain_tid = Tid_sub_wikimedia; break;
default: throw Err_.new_unhandled(domain.Domain_type_id());
}
return Const_system_reserved // reserve first 100 slots
@@ -70,29 +70,29 @@ public class Xow_domain_uid_ {
}
public static Xow_domain_itm To_domain(int tid) {
switch (tid) {
case Tid_xowa: return Xow_domain_itm.new_(Xow_domain_itm_.Bry__home, Xow_domain_tid_.Int__home, Xol_lang_stub_.Key__unknown);
case Tid_commons: return Xow_domain_itm.new_(Xow_domain_itm_.Bry__commons, Xow_domain_tid_.Int__commons, Xol_lang_stub_.Key__unknown);
case Tid_wikidata: return Xow_domain_itm.new_(Xow_domain_itm_.Bry__wikidata, Xow_domain_tid_.Int__commons, Xol_lang_stub_.Key__unknown);
case Tid_mediawiki: return Xow_domain_itm.new_(Xow_domain_itm_.Bry__mediawiki, Xow_domain_tid_.Int__mediawiki, Xol_lang_stub_.Key__unknown);
case Tid_meta: return Xow_domain_itm.new_(Xow_domain_itm_.Bry__meta, Xow_domain_tid_.Int__meta, Xol_lang_stub_.Key__unknown);
case Tid_incubator: return Xow_domain_itm.new_(Xow_domain_itm_.Bry__incubator, Xow_domain_tid_.Int__incubator, Xol_lang_stub_.Key__unknown);
case Tid_wmfblog: return Xow_domain_itm.new_(Xow_domain_itm_.Bry__wmforg, Xow_domain_tid_.Int__wmfblog, Xol_lang_stub_.Key__unknown);
case Tid_species: return Xow_domain_itm.new_(Xow_domain_itm_.Bry__species, Xow_domain_tid_.Int__species, Xol_lang_stub_.Key__unknown);
case Tid_xowa: return Xow_domain_itm.new_(Xow_domain_itm_.Bry__home, Xow_domain_tid_.Tid__home, Xol_lang_stub_.Key__unknown);
case Tid_commons: return Xow_domain_itm.new_(Xow_domain_itm_.Bry__commons, Xow_domain_tid_.Tid__commons, Xol_lang_stub_.Key__unknown);
case Tid_wikidata: return Xow_domain_itm.new_(Xow_domain_itm_.Bry__wikidata, Xow_domain_tid_.Tid__commons, Xol_lang_stub_.Key__unknown);
case Tid_mediawiki: return Xow_domain_itm.new_(Xow_domain_itm_.Bry__mediawiki, Xow_domain_tid_.Tid__mediawiki, Xol_lang_stub_.Key__unknown);
case Tid_meta: return Xow_domain_itm.new_(Xow_domain_itm_.Bry__meta, Xow_domain_tid_.Tid__meta, Xol_lang_stub_.Key__unknown);
case Tid_incubator: return Xow_domain_itm.new_(Xow_domain_itm_.Bry__incubator, Xow_domain_tid_.Tid__incubator, Xol_lang_stub_.Key__unknown);
case Tid_wmfblog: return Xow_domain_itm.new_(Xow_domain_itm_.Bry__wmforg, Xow_domain_tid_.Tid__wmfblog, Xol_lang_stub_.Key__unknown);
case Tid_species: return Xow_domain_itm.new_(Xow_domain_itm_.Bry__species, Xow_domain_tid_.Tid__species, Xol_lang_stub_.Key__unknown);
}
int tmp = tid - Const_system_reserved;
int lang_id = tmp / 20;
int type_id = tmp % 20;
int tid_int = 0; byte[] tid_bry = null;
switch (type_id) {
case Tid_sub_wikipedia: tid_int = Xow_domain_tid_.Int__wikipedia; tid_bry = Xow_domain_tid_.Bry__wikipedia; break;
case Tid_sub_wiktionary: tid_int = Xow_domain_tid_.Int__wiktionary; tid_bry = Xow_domain_tid_.Bry__wiktionary; break;
case Tid_sub_wikisource: tid_int = Xow_domain_tid_.Int__wikisource; tid_bry = Xow_domain_tid_.Bry__wikisource; break;
case Tid_sub_wikivoyage: tid_int = Xow_domain_tid_.Int__wikivoyage; tid_bry = Xow_domain_tid_.Bry__wikivoyage; break;
case Tid_sub_wikiquote: tid_int = Xow_domain_tid_.Int__wikiquote; tid_bry = Xow_domain_tid_.Bry__wikiquote; break;
case Tid_sub_wikibooks: tid_int = Xow_domain_tid_.Int__wikibooks; tid_bry = Xow_domain_tid_.Bry__wikibooks; break;
case Tid_sub_wikiversity: tid_int = Xow_domain_tid_.Int__wikiversity; tid_bry = Xow_domain_tid_.Bry__wikiversity; break;
case Tid_sub_wikinews: tid_int = Xow_domain_tid_.Int__wikinews; tid_bry = Xow_domain_tid_.Bry__wikinews; break;
case Tid_sub_wikimedia: tid_int = Xow_domain_tid_.Int__wikimedia; tid_bry = Xow_domain_tid_.Bry__wikimedia; break;
case Tid_sub_wikipedia: tid_int = Xow_domain_tid_.Tid__wikipedia; tid_bry = Xow_domain_tid_.Bry__wikipedia; break;
case Tid_sub_wiktionary: tid_int = Xow_domain_tid_.Tid__wiktionary; tid_bry = Xow_domain_tid_.Bry__wiktionary; break;
case Tid_sub_wikisource: tid_int = Xow_domain_tid_.Tid__wikisource; tid_bry = Xow_domain_tid_.Bry__wikisource; break;
case Tid_sub_wikivoyage: tid_int = Xow_domain_tid_.Tid__wikivoyage; tid_bry = Xow_domain_tid_.Bry__wikivoyage; break;
case Tid_sub_wikiquote: tid_int = Xow_domain_tid_.Tid__wikiquote; tid_bry = Xow_domain_tid_.Bry__wikiquote; break;
case Tid_sub_wikibooks: tid_int = Xow_domain_tid_.Tid__wikibooks; tid_bry = Xow_domain_tid_.Bry__wikibooks; break;
case Tid_sub_wikiversity: tid_int = Xow_domain_tid_.Tid__wikiversity; tid_bry = Xow_domain_tid_.Bry__wikiversity; break;
case Tid_sub_wikinews: tid_int = Xow_domain_tid_.Tid__wikinews; tid_bry = Xow_domain_tid_.Bry__wikinews; break;
case Tid_sub_wikimedia: tid_int = Xow_domain_tid_.Tid__wikimedia; tid_bry = Xow_domain_tid_.Bry__wikimedia; break;
default: throw Err_.new_unhandled(type_id);
}
Xol_lang_stub lang = Xol_lang_stub_.Get_by_id(lang_id);

View File

@@ -18,10 +18,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
package gplx.xowa.wikis.domains; import gplx.*; import gplx.xowa.*; import gplx.xowa.wikis.*;
import org.junit.*;
public class Xow_domain_uid__tst {
@Before public void init() {fxt.Clear();} private final Xow_domain_uid__fxt fxt = new Xow_domain_uid__fxt();
@Before public void init() {fxt.Clear();} private final Xow_domain_uid__fxt fxt = new Xow_domain_uid__fxt();
@Test public void Basic() {
fxt.Test(Xow_domain_uid_.Tid_commons , "commons.wikimedia.org" , "", Xow_domain_tid_.Int__commons);
fxt.Test(100 , "en.wikipedia.org" , "en", Xow_domain_tid_.Int__wikipedia);
fxt.Test(Xow_domain_uid_.Tid_commons , "commons.wikimedia.org" , "", Xow_domain_tid_.Tid__commons);
fxt.Test(100 , "en.wikipedia.org" , "en", Xow_domain_tid_.Tid__wikipedia);
}
}
class Xow_domain_uid__fxt {

View File

@@ -34,14 +34,14 @@ class Xow_domain_crt_itm__in implements Xow_domain_crt_itm {
class Xow_domain_crt_itm__any_standard implements Xow_domain_crt_itm {
public boolean Matches(Xow_domain_itm cur, Xow_domain_itm comp) {
switch (comp.Domain_type_id()) {
case Xow_domain_tid_.Int__wikipedia:
case Xow_domain_tid_.Int__wiktionary:
case Xow_domain_tid_.Int__wikisource:
case Xow_domain_tid_.Int__wikivoyage:
case Xow_domain_tid_.Int__wikiquote:
case Xow_domain_tid_.Int__wikibooks:
case Xow_domain_tid_.Int__wikiversity:
case Xow_domain_tid_.Int__wikinews: return true;
case Xow_domain_tid_.Tid__wikipedia:
case Xow_domain_tid_.Tid__wiktionary:
case Xow_domain_tid_.Tid__wikisource:
case Xow_domain_tid_.Tid__wikivoyage:
case Xow_domain_tid_.Tid__wikiquote:
case Xow_domain_tid_.Tid__wikibooks:
case Xow_domain_tid_.Tid__wikiversity:
case Xow_domain_tid_.Tid__wikinews: return true;
default: return false;
}
}

View File

@@ -71,7 +71,7 @@ class Xow_domain_crt_itm_parser {
int raw_len = raw.length;
if (Bry_.Has_at_bgn(raw, Wild_lang)) { // EX: *.wikipedia
int wiki_tid = Xow_domain_tid_.Get_type_as_tid(raw, Wild_lang.length, raw_len);
return wiki_tid == Xow_domain_tid_.Int__null ? Xow_domain_crt_itm_.Null : new Xow_domain_crt_itm__type(wiki_tid);
return wiki_tid == Xow_domain_tid_.Tid__null ? Xow_domain_crt_itm_.Null : new Xow_domain_crt_itm__type(wiki_tid);
}
else if (Bry_.Has_at_end(raw, Wild_type)) { // EX: en.*
Xol_lang_stub lang_itm = Xol_lang_stub_.Get_by_key_or_null(raw, 0, raw_len - Wild_type.length);