/* * Copyright 2003-2010 Tufts University Licensed under the * Educational Community License, Version 2.0 (the "License"); you may * not use this file except in compliance with the License. You may * obtain a copy of the License at * * http://www.osedu.org/licenses/ECL-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an "AS IS" * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express * or implied. See the License for the specific language governing * permissions and limitations under the License. */ package tufts.vue; public class SakaiCollection { // private org.osid.shared.Type _collectionAssetType = new edu.tufts.vue.util.Type("org.sakaiproject","asset","siteCollection"); private org.osid.shared.Type _collectionAssetType = new edu.tufts.vue.util.Type("com.harvestroad","asset","category"); private org.osid.repository.Asset _asset = null; public SakaiCollection(org.osid.repository.Asset asset) { _asset = asset; } // if array is empty, configuration was incomplete, server was not responding, permission was denied public String getDisplayName() throws org.osid.repository.RepositoryException { return _asset.getDisplayName(); } public SakaiCollection[] getCollections() throws org.osid.repository.RepositoryException { java.util.Vector collectionVector = new java.util.Vector(); SakaiCollection collection[] = new SakaiCollection[0]; // get all the collections and their ids org.osid.repository.AssetIterator assetIterator = _asset.getAssetsByType(_collectionAssetType); while (assetIterator.hasNextAsset()) { collectionVector.addElement(new SakaiCollection(assetIterator.nextAsset())); } // convert to array for return int size = collectionVector.size(); collection = new SakaiCollection[size]; for (int i=0; i < size; i++) { collection[i] = (SakaiCollection)collectionVector.elementAt(i); } return collection; } public boolean hasChildren() { // query for any sub-Assets try { org.osid.repository.AssetIterator assetIterator = _asset.getAssetsByType(_collectionAssetType); return assetIterator.hasNextAsset(); } catch (Throwable t) { t.printStackTrace(); } return false; } // failure's cause is logged public boolean save(java.io.File file) { try { _asset.updateContent(file); return true; } catch (Throwable t) { t.printStackTrace(); return false; } } }