package ldbc.snb.datagen.generator;
import java.util.Properties;
import java.util.Random;
import java.util.TreeSet;
import ldbc.snb.datagen.dictionary.Dictionaries;
import ldbc.snb.datagen.dictionary.TagDictionary;
import ldbc.snb.datagen.objects.Person.PersonSummary;
public class LdbcSnbTextGenerator extends TextGenerator {
public LdbcSnbTextGenerator(Random random, TagDictionary tagDic) {
super(random, tagDic);
}
@Override
protected void load() {
}
@Override
public String generateText(PersonSummary member, TreeSet<Integer> tags, Properties prop) {
//fem un if segons las props i fem una cosa o una altre
String content = "";
if(prop.getProperty("type") == "post"){//si es post fer
int textSize;
if( member.isLargePoster() && this.random.nextDouble() > (1.0f-DatagenParams.ratioLargePost) ) {
textSize = Dictionaries.tagText.getRandomLargeTextSize( this.random,DatagenParams.minLargePostSize, DatagenParams.maxLargePostSize );
assert textSize <= DatagenParams.maxLargePostSize && textSize >= DatagenParams.minLargePostSize : "Person creation date is larger than membership";
} else {
textSize = Dictionaries.tagText.getRandomTextSize( this.random, this.random, DatagenParams.minTextSize, DatagenParams.maxTextSize);
assert textSize <= DatagenParams.maxTextSize && textSize >= DatagenParams.minTextSize : "Person creation date is larger than membership";
}
content = Dictionaries.tagText.generateText(this.random,tags,textSize);
}
else {//si no es post fer
int textSize;
if( member.isLargePoster() && this.random.nextDouble() > (1.0f-DatagenParams.ratioLargeComment) ) {
textSize = Dictionaries.tagText.getRandomLargeTextSize(this.random, DatagenParams.minLargeCommentSize, DatagenParams.maxLargeCommentSize);
assert textSize <= DatagenParams.maxLargeCommentSize && textSize >= DatagenParams.minLargeCommentSize : "Person creation date is larger than membership";
} else {
textSize = Dictionaries.tagText.getRandomTextSize( this.random, this.random, DatagenParams.minCommentSize, DatagenParams.maxCommentSize);
assert textSize <= DatagenParams.maxCommentSize && textSize >= DatagenParams.minCommentSize : "Person creation date is larger than membership";
}
content = Dictionaries.tagText.generateText(this.random,tags,textSize);
}
return content;
}
}