/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package ldbc.snb.datagen.dictionary;
import ldbc.snb.datagen.generator.DatagenParams;
import ldbc.snb.datagen.generator.DateGenerator;
import org.apache.hadoop.conf.Configuration;
import java.util.GregorianCalendar;
/**
*
* @author aprat
*/
public class Dictionaries {
public static BrowserDictionary browsers = null;
public static CompanyDictionary companies = null;
public static DateGenerator dates = null;
public static EmailDictionary emails = null;
public static IPAddressDictionary ips = null;
public static LanguageDictionary languages = null;
public static NamesDictionary names = null;
public static PlaceDictionary places = null;
public static PopularPlacesDictionary popularPlaces = null;
public static TagDictionary tags = null;
public static TagMatrix tagMatrix = null;
public static TagTextDictionary tagText = null;
public static UniversityDictionary universities = null;
public static FlashmobTagDictionary flashmobs = null;
public static void loadDictionaries(Configuration conf) {
browsers = new BrowserDictionary(DatagenParams.probAnotherBrowser);
dates = new DateGenerator( conf, new GregorianCalendar(DatagenParams.startYear,
DatagenParams.startMonth,
DatagenParams.startDate),
new GregorianCalendar(DatagenParams.endYear,
DatagenParams.endMonth,
DatagenParams.endDate),
DatagenParams.alpha,
DatagenParams.deltaTime);
emails = new EmailDictionary();
places = new PlaceDictionary(DatagenParams.numPersons);
ips = new IPAddressDictionary( places,
DatagenParams.probDiffIPinTravelSeason,
DatagenParams.probDiffIPnotTravelSeason
);
languages = new LanguageDictionary(places,
DatagenParams.probEnglish,
DatagenParams.probSecondLang);
names = new NamesDictionary(places);
popularPlaces = new PopularPlacesDictionary(places);
tags = new TagDictionary( places.getCountries().size(),
DatagenParams.tagCountryCorrProb);
tagMatrix = new TagMatrix();
companies = new CompanyDictionary(places, DatagenParams.probUnCorrelatedCompany);
universities = new UniversityDictionary(places,
DatagenParams.probUnCorrelatedOrganization,
DatagenParams.probTopUniv,
companies.getNumCompanies());
flashmobs = new FlashmobTagDictionary(tags,
dates,
DatagenParams.flashmobTagsPerMonth,
DatagenParams.probInterestFlashmobTag,
DatagenParams.probRandomPerLevel,
DatagenParams.flashmobTagMinLevel,
DatagenParams.flashmobTagMaxLevel,
DatagenParams.flashmobTagDistExp);
tagText = new TagTextDictionary(tags, DatagenParams.ratioReduceText);
}
}