X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/a9e9751f6b33638a101825a134e74092071afb88..a4ba6170ea7696e085b07adfef73eeb8b77cb8e2:/src/eu/alefzero/owncloud/datamodel/OCFile.java diff --git a/src/eu/alefzero/owncloud/datamodel/OCFile.java b/src/eu/alefzero/owncloud/datamodel/OCFile.java deleted file mode 100644 index 20e30fe2..00000000 --- a/src/eu/alefzero/owncloud/datamodel/OCFile.java +++ /dev/null @@ -1,177 +0,0 @@ -/* ownCloud Android client application - * Copyright (C) 2012 Bartek Przybylski - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - */ - -package eu.alefzero.owncloud.datamodel; - -import java.io.File; -import java.util.Vector; - -import eu.alefzero.owncloud.db.ProviderMeta.ProviderTableMeta; -import android.accounts.Account; -import android.content.ContentResolver; -import android.content.ContentValues; -import android.database.Cursor; -import android.net.Uri; -import android.util.Log; - -public class OCFile { - private static String TAG = "OCFile"; - - private long id_; - private long parent_id_; - private long length_; - private long creation_timestamp_; - private long modified_timestamp_; - private String path_; - private String storage_path_; - private String mimetype_; - - private ContentResolver cp_; - private Account account_; - - public OCFile(ContentResolver cp, Account account, long id) { - cp_ = cp; - account_ = account; - Cursor c = cp_.query(ProviderTableMeta.CONTENT_URI_FILE, - null, - ProviderTableMeta.FILE_ACCOUNT_OWNER + "=? AND " + - ProviderTableMeta._ID + "=?", - new String[]{account_.name, String.valueOf(id)}, - null); - if (c.moveToFirst()) - setFileData(c); - } - - public OCFile(ContentResolver cp, Account account, String path) { - cp_ = cp; - account_ = account; - Cursor c = cp_.query(ProviderTableMeta.CONTENT_URI_FILE, - null, - ProviderTableMeta.FILE_ACCOUNT_OWNER + "=? AND " + - ProviderTableMeta.FILE_PATH + "=?", - new String[]{account_.name, path}, - null); - if (c.moveToFirst()) { - setFileData(c); - if (path_ != null) path_ = path; - } - } - - public long getFileId() { return id_; } - - public String getPath() { return path_; } - - public boolean fileExtist() { return id_ != -1; } - - public boolean isDirectory() { return mimetype_ != null && mimetype_.equals("dir"); } - - public boolean isDownloaded() { return storage_path_ != null; } - - public String getStoragePath() { return storage_path_; } - public void setStoragePath(String storage_path) { storage_path_ = storage_path; } - - public long getCreationTimestamp() { return creation_timestamp_; } - public void setCreationTimestamp(long creation_timestamp) { creation_timestamp_ = creation_timestamp; } - - public long getModificationTimestamp() { return modified_timestamp_; } - public void setModificationTimestamp(long modification_timestamp) { modified_timestamp_ = modification_timestamp; } - - public String getFileName() { - if (path_ != null) { - File f = new File(path_); - return f.getName(); - } - return null; - } - - public void save() { - ContentValues cv = new ContentValues(); - cv.put(ProviderTableMeta.FILE_MODIFIED, modified_timestamp_); - cv.put(ProviderTableMeta.FILE_CREATION, creation_timestamp_); - cv.put(ProviderTableMeta.FILE_CONTENT_LENGTH, length_); - cv.put(ProviderTableMeta.CONTENT_TYPE, mimetype_); - cv.put(ProviderTableMeta.FILE_NAME, getFileName()); - cv.put(ProviderTableMeta.FILE_PARENT, parent_id_); - cv.put(ProviderTableMeta.FILE_PATH, path_); - cv.put(ProviderTableMeta.FILE_STORAGE_PATH, storage_path_); - cv.put(ProviderTableMeta.FILE_ACCOUNT_OWNER, account_.name); - - if (fileExtist()) { - cp_.update(ProviderTableMeta.CONTENT_URI, - cv, - ProviderTableMeta._ID + "=?", new String[]{String.valueOf(id_)}); - } else { - Uri new_entry = cp_.insert(ProviderTableMeta.CONTENT_URI, cv); - try { - id_ = Integer.parseInt(new_entry.getEncodedPath()); - } catch (NumberFormatException e) { - Log.e(TAG, "Can't retrieve file id from uri: " + new_entry.toString() + - ", reason: " + e.getMessage()); - id_ = -1; - } - } - } - - public Vector getDirectoryContent() { - if (isDirectory() && id_ != -1) { - Vector ret = new Vector(); - - Uri req_uri = Uri.withAppendedPath(ProviderTableMeta.CONTENT_URI_DIR, String.valueOf(id_)); - Cursor c = cp_.query(req_uri, null, null, null, null); - - if (c.moveToFirst()) - do { - OCFile child = new OCFile(cp_, account_); - child.setFileData(c); - ret.add(child); - } while (c.moveToNext()); - - return ret; - } - return null; - } - - public void addFile(OCFile file) { - file.parent_id_ = id_; - file.save(); - } - - private OCFile(ContentResolver cp, Account account) { - account_ = account; - cp_ = cp; - } - - private void setFileData(Cursor c) { - id_ = -1; - path_ = null; - storage_path_ = null; - mimetype_ = null; - length_ = 0; - creation_timestamp_ = 0; - modified_timestamp_ = 0; - if (c != null) { - id_ = c.getLong(c.getColumnIndex(ProviderTableMeta._ID)); - path_ = c.getString(c.getColumnIndex(ProviderTableMeta.FILE_PATH)); - storage_path_ = c.getString(c.getColumnIndex(ProviderTableMeta.FILE_STORAGE_PATH)); - mimetype_ = c.getString(c.getColumnIndex(ProviderTableMeta.FILE_CONTENT_TYPE)); - length_ = c.getLong(c.getColumnIndex(ProviderTableMeta.FILE_CONTENT_LENGTH)); - creation_timestamp_ = c.getLong(c.getColumnIndex(ProviderTableMeta.FILE_CREATION)); - modified_timestamp_ = c.getLong(c.getColumnIndex(ProviderTableMeta.FILE_MODIFIED)); - } - } -}