[Taka-cvs] takaglyphedit/org/takadb/editor/database/entities CharacterEntity.java, 1.7, 1.8 Multira
Status: Beta
Brought to you by:
asbel
From: Benoit C. <ben...@us...> - 2010-01-17 20:19:15
|
Update of /cvsroot/taka/takaglyphedit/org/takadb/editor/database/entities In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv8317/org/takadb/editor/database/entities Modified Files: CharacterEntity.java MultiradEntity.java Log Message: changes to database generation to optimize some queries in shinkanji Index: CharacterEntity.java =================================================================== RCS file: /cvsroot/taka/takaglyphedit/org/takadb/editor/database/entities/CharacterEntity.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** CharacterEntity.java 2 Nov 2008 02:29:56 -0000 1.7 --- CharacterEntity.java 17 Jan 2010 20:19:06 -0000 1.8 *************** *** 7,11 **** package org.takadb.editor.database.entities; ! import java.io.File; import java.io.Serializable; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import org.takadb.editor.TakaEditorClientPreferences; import org.takadb.editor.database.DBIdentifier; import org.takadb.editor.database.DBObject; import org.takadb.editor.database.XStreamUtil; public class CharacterEntity extends DBObject --- 7,11 ---- package org.takadb.editor.database.entities; ! import java.io.File; import java.io.Serializable; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import org.takadb.editor.TakaEditorClientPreferences; import org.takadb.editor.database.DBIdentifier; import org.takadb.editor.database.DBObject; import org.takadb.editor.database.XStreamUtil; public class CharacterEntity extends DBObject *************** *** 28,32 **** // Fields from "character_meanings" public Meanings meanings = new Meanings(); ! // Class representing a single "character_readings" entry and --- 28,32 ---- // Fields from "character_meanings" public Meanings meanings = new Meanings(); ! public HashSet<MultiradEntity> multirads = new HashSet<MultiradEntity>(); // Class representing a single "character_readings" entry and *************** *** 298,306 **** } ! public Object clone() { try { CharacterEntity character = (CharacterEntity)super.clone(); character.readings = (Readings)this.readings.clone(); ! character.meanings = (Meanings)this.meanings.clone(); return character; } catch (CloneNotSupportedException c) { --- 298,306 ---- } ! @SuppressWarnings("unchecked") public Object clone() { try { CharacterEntity character = (CharacterEntity)super.clone(); character.readings = (Readings)this.readings.clone(); ! character.meanings = (Meanings)this.meanings.clone(); character.multirads = (HashSet<MultiradEntity>)this.multirads; return character; } catch (CloneNotSupportedException c) { Index: MultiradEntity.java =================================================================== RCS file: /cvsroot/taka/takaglyphedit/org/takadb/editor/database/entities/MultiradEntity.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** MultiradEntity.java 9 Jan 2010 19:37:23 -0000 1.3 --- MultiradEntity.java 17 Jan 2010 20:19:06 -0000 1.4 *************** *** 8,11 **** --- 8,12 ---- import java.io.UnsupportedEncodingException; import java.util.ArrayList; + import java.util.HashSet; import org.takadb.editor.TakaEditorClientPreferences; *************** *** 17,20 **** --- 18,25 ---- public int _elementId; public ArrayList<Integer> _characters = new ArrayList<Integer>(); + public String toString() + { + return "MultiradEntity: " + Integer.toHexString(_UCSCode); + } public static ArrayList<MultiradEntity> loadAllMultirads(DBController iDBController) { // TODO Auto-generated method stub *************** *** 102,106 **** int lCodePoint = lCurLine.codePointAt(lCurIdx); CharacterEntity.Identifier lId = (CharacterEntity.Identifier) iDBController.findCharacterByUCSCode(lCodePoint); ! lMultiRad._characters.add(new Integer(lId.characterId)); } break; --- 107,117 ---- int lCodePoint = lCurLine.codePointAt(lCurIdx); CharacterEntity.Identifier lId = (CharacterEntity.Identifier) iDBController.findCharacterByUCSCode(lCodePoint); ! Integer lCharacterID = new Integer(lId.characterId); ! CharacterEntity lChar = iDBController.getCharacter(lCharacterID); ! if (lChar.multirads == null) ! lChar.multirads = new HashSet<MultiradEntity>(); ! lChar.multirads.add(lMultiRad); ! iDBController.setCharacter(lChar); ! lMultiRad._characters.add(lCharacterID); } break; |