From: <jtc...@li...> - 2005-01-29 23:23:36
|
Update of /cvsroot/jtcfrost/frost-wot/source/frost/fileTransfer/upload In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6259/source/frost/fileTransfer/upload Modified Files: UploadTicker.java FrostUploadItem.java UploadModelXmlDAO.java Log Message: Added: new field (enabled) to FrostUploadItem. No GUI put in place for it yet. Index: UploadTicker.java =================================================================== RCS file: /cvsroot/jtcfrost/frost-wot/source/frost/fileTransfer/upload/UploadTicker.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** UploadTicker.java 6 Jan 2005 23:30:36 -0000 1.4 --- UploadTicker.java 29 Jan 2005 23:23:15 -0000 1.5 *************** *** 270,291 **** private void startUploadThread() { if (allocateUploadingThread()) { - boolean threadLaunched = false; ! for (int i = 0; i < model.getItemCount() && !threadLaunched; i++) { ! FrostUploadItem ulItem = (FrostUploadItem) model.getItemAt(i); ! if (ulItem.getState() == FrostUploadItem.STATE_REQUESTED ! && ulItem.getSHA1() != null ! && ulItem.getKey() != null) ! // file have key after encoding ! { ! ulItem.setState(FrostUploadItem.STATE_UPLOADING); ! UploadThread newInsert = ! new UploadThread(this, ulItem, settings, UploadThread.MODE_UPLOAD, myID); ! newInsert.start(); ! threadLaunched = true; // start only 1 thread per loop (=second) ! } ! } ! ! if (!threadLaunched) { releaseUploadingThread(); } --- 270,281 ---- private void startUploadThread() { if (allocateUploadingThread()) { ! FrostUploadItem item = selectNextUploadItem(); ! if (item != null) { ! item.setState(FrostUploadItem.STATE_UPLOADING); ! UploadThread newInsert = ! new UploadThread(this, item, settings, UploadThread.MODE_UPLOAD, myID); ! newInsert.start(); ! } else { releaseUploadingThread(); } *************** *** 294,297 **** --- 284,308 ---- /** + * Chooses next upload item to start from upload table. + * @return the next upload item to start uploading or null if a suitable + * one was not found. + */ + private FrostUploadItem selectNextUploadItem() { + FrostUploadItem foundItem = null; + for (int i = 0; i < model.getItemCount() && foundItem == null; i++) { + FrostUploadItem ulItem = (FrostUploadItem) model.getItemAt(i); + if (ulItem.getState() == FrostUploadItem.STATE_REQUESTED + && ulItem.getSHA1() != null + && ulItem.getKey() != null + && (ulItem.isEnabled() == null || ulItem.isEnabled().booleanValue())) + // file have key after encoding + { + foundItem = ulItem; + } + } + return foundItem; + } + + /** * */ Index: UploadModelXmlDAO.java =================================================================== RCS file: /cvsroot/jtcfrost/frost-wot/source/frost/fileTransfer/upload/UploadModelXmlDAO.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** UploadModelXmlDAO.java 26 Dec 2004 03:58:12 -0000 1.5 --- UploadModelXmlDAO.java 29 Jan 2005 23:23:15 -0000 1.6 *************** *** 113,116 **** --- 113,117 ---- String SHA1 = XMLTools.getChildElementsCDATAValue(element, "SHA1"); String batch = XMLTools.getChildElementsTextValue(element, "batch"); + String enabled = element.getAttribute("enabled"); // batch is allowed to be null, I think *************** *** 163,166 **** --- 164,173 ---- return null; } + + boolean uploadEnabled = false; + if (enabled == null || enabled.length() == 0 || + enabled.toLowerCase().equals("true")) { + uploadEnabled = true; // default is true + } // create FrostUploadItem *************** *** 168,171 **** --- 175,179 ---- board, iState, lastUploadDate, key, SHA1); ulItem.setBatch(batch); + ulItem.setEnabled(new Boolean(uploadEnabled)); return ulItem; } *************** *** 296,299 **** --- 304,315 ---- itemElement.appendChild(element); } + // enabled + String enabled; + if (uploadItem.isEnabled() == null) { + enabled = "true"; + } else { + enabled = uploadItem.isEnabled().toString(); + } + itemElement.setAttribute("enabled", enabled); return itemElement; } Index: FrostUploadItem.java =================================================================== RCS file: /cvsroot/jtcfrost/frost-wot/source/frost/fileTransfer/upload/FrostUploadItem.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** FrostUploadItem.java 15 Dec 2004 20:01:18 -0000 1.3 --- FrostUploadItem.java 29 Jan 2005 23:23:15 -0000 1.4 *************** *** 10,14 **** { // the constants representing field IDs - public final static int FIELD_ID_DONE_BLOCKS = 100; public final static int FIELD_ID_FILE_NAME = 101; --- 10,13 ---- *************** *** 21,24 **** --- 20,24 ---- public final static int FIELD_ID_STATE = 108; public final static int FIELD_ID_TARGET_BOARD = 109; + public final static int FIELD_ID_ENABLED = 110; // the constants representing upload states *************** *** 32,44 **** //the fields private int state; //FIELD_ID_STATE ! private String fileName; //FIELD_ID_FILE_NAME ! private String filePath; //FIELD_ID_FILE_PATH ! private Long fileSize; //FIELD_ID_FILE_SIZE private String key; //FIELD_ID_KEY ! private String sha1; //FIELD_ID_SHA ! private Board targetBoard; //FIELD_ID_TARGET_BOARD ! private int totalBlocks = -1; //FIELD_ID_TOTAL_BLOCKS ! private int doneBlocks = -1; //FIELD_ID_DONE_BLOCKS ! private String lastUploadDate; //FIELD_ID_LAST_UPLOAD_DATE (null as long as NEVER uploaded) private int nextState = 0; --- 32,45 ---- //the fields private int state; //FIELD_ID_STATE ! private String fileName; //FIELD_ID_FILE_NAME ! private String filePath; //FIELD_ID_FILE_PATH ! private Long fileSize; //FIELD_ID_FILE_SIZE private String key; //FIELD_ID_KEY ! private String sha1; //FIELD_ID_SHA ! private Board targetBoard; //FIELD_ID_TARGET_BOARD ! private int totalBlocks = -1; //FIELD_ID_TOTAL_BLOCKS ! private int doneBlocks = -1; //FIELD_ID_DONE_BLOCKS ! private String lastUploadDate; //FIELD_ID_LAST_UPLOAD_DATE (null as long as NEVER uploaded) ! private Boolean enabled = new Boolean(true); //FIELD_ID_ENABLED private int nextState = 0; *************** *** 259,262 **** --- 260,279 ---- fireFieldChange(FIELD_ID_DONE_BLOCKS, oldDoneBlocks, newDoneBlocks); } + + /** + * @param enabled new enable status of the item. If null, the current + * status is inverted + */ + public void setEnabled(Boolean newEnabled) { + if (newEnabled == null && enabled != null) { + //Invert the enable status + boolean temp = enabled.booleanValue(); + newEnabled = new Boolean(!temp); + } + Boolean oldEnabled = enabled; + enabled = newEnabled; + fireFieldChange(FIELD_ID_ENABLED, oldEnabled, newEnabled); + } + /** * @return *************** *** 265,268 **** --- 282,292 ---- return doneBlocks; } + + /** + * @return + */ + public Boolean isEnabled() { + return enabled; + } /** |