/* * Lokomo OneCMDB - An Open Source Software for Configuration * Management of Datacenter Resources * * Copyright (C) 2006 Lokomo Systems AB * * 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 2 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, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301 USA. * * Lokomo Systems AB can be contacted via e-mail: info@lokomo.com or via * paper mail: Lokomo Systems AB, Sv�rdv�gen 27, SE-182 33 * Danderyd, Sweden. * */ package org.onecmdb.ui.gwt.desktop.client.service.model; import java.util.List; import org.onecmdb.ui.gwt.desktop.client.service.CMDBAsyncCallback; import org.onecmdb.ui.gwt.desktop.client.service.CMDBRPCException; import org.onecmdb.ui.gwt.desktop.client.service.content.ContentData; import org.onecmdb.ui.gwt.desktop.client.service.content.ContentFile; import org.onecmdb.ui.gwt.desktop.client.service.model.grid.CIModelCollection; import org.onecmdb.ui.gwt.desktop.client.service.model.grid.GridModelConfig; import org.onecmdb.ui.gwt.desktop.client.service.model.group.GroupCollection; import org.onecmdb.ui.gwt.desktop.client.service.model.group.GroupDescription; import org.onecmdb.ui.gwt.desktop.client.service.model.mdr.TransformConfig; import org.onecmdb.ui.gwt.desktop.client.service.model.mdr.transform.TransformModel; import org.onecmdb.ui.gwt.desktop.client.service.model.tree.CITreeModel; import org.onecmdb.ui.gwt.desktop.client.service.model.tree.RelationCollectionModel; import org.onecmdb.ui.gwt.desktop.client.service.model.tree.RelationTypeModel; import com.extjs.gxt.ui.client.data.BaseListLoadConfig; import com.extjs.gxt.ui.client.data.BaseListLoadResult; import com.extjs.gxt.ui.client.data.BaseModel; import com.extjs.gxt.ui.client.data.BasePagingLoadConfig; import com.extjs.gxt.ui.client.data.BasePagingLoadResult; import com.extjs.gxt.ui.client.data.ModelData; import com.google.gwt.user.client.rpc.AsyncCallback; public interface IModelServiceAsync { public void autenticate(String username, String passwd, AsyncCallback<CMDBSession> callback); public void validateToken(String token, AsyncCallback<CMDBSession> callback); public void autoLogin(String id, AsyncCallback<CMDBSession> callback); public void logout(String token, AsyncCallback<Boolean> callback); public void getDesktopConfig(String username, String token, String role, AsyncCallback<CMDBDesktopConfig> callback); public void saveUserPreferences(String token, String username, UserPreference preferences, AsyncCallback<Void> callback); public void getTemplateChildren(String token, ContentData mdr, CIModel parent, List<String> roots, AsyncCallback<List<CIModel>> callback); public void getTemplateInstances(String token, ContentData mdr, LoadConfigModelItem loadConfig, AsyncCallback<BasePagingLoadResult<CIModel>> callback); public void getCIModel(String token, ContentData mdr, List<String> aliases, AsyncCallback<List<CIModel>> asyncCallback); //public void getModelAttributes(String token, ContentData mdr, CIModel model, AsyncCallback<List<AttributeModel>> asyncCallback); public void save(String token, ContentData mdr, SaveDeleteRequest request, AsyncCallback<SaveResponse> callback); public void delete(String token, ContentData mdr, SaveDeleteRequest request, AsyncCallback<SaveResponse> callback); public void getHistory(ContentData mdrData, String token, LoadConfigModelItem loadConfig, AsyncCallback<BasePagingLoadResult<HistoryModel>> callback); /** * Model MDR info... * @param token * @return * @throws CMDBRPCException */ public void loadModelMDRInfo(String token, BaseModel conf, AsyncCallback<BaseModel> callback); public void execMDR(String token, CIModel mdr, CIModel mdrConfig, AsyncCallback<CIModel> asyncCallback); public void loadMDROverview(String token, ContentData mdr, BaseListLoadConfig loadConfig, AsyncCallback<BaseListLoadResult<BaseModel>> callback); public void getLatsetMDRConfigHistory(String token, ContentData mdrData, CIModel cfgModel, AsyncCallback<CIModel> callback); /** * Common Store interface. */ public void store(ContentData mdr, String token, List<? extends ModelItem> local, List<? extends ModelItem> base, AsyncCallback<StoreResult> callback); /** * Load grid data. * * @param token * @param loadConfig * @param callback */ public void loadGrid(String token, BaseListLoadConfig loadConfig, AsyncCallback<BaseListLoadResult<CIModelCollection>> callback); public void loadGridConfig(String token, ContentData mdr, ContentData config, AsyncCallback<GridModelConfig> callback); /** * Load Relation Tree */ public void loadRelationTypes(String token, ContentData mdrData, CIModel ci, GroupDescription desc, AsyncCallback<RelationCollectionModel> callback); public void loadRelations(String token, ContentData mdrData, RelationTypeModel relation, AsyncCallback<List<? extends ModelItem>> callback); /** * Load custom views. * @param token * @param f * @param asyncCallback */ public void loadCustomView(String token, ContentFile f, AsyncCallback<BaseModel> callback); /** * Load a tree view. * * @param token * @param mdr * @param parent * @param callback */ public void loadGroup(String token, ContentData mdr, CITreeModel parent, AsyncCallback<List<CITreeModel>> callback); public void loadGroupData(String token, BasePagingLoadConfig config, AsyncCallback<BasePagingLoadResult<GroupCollection>> callback); /** * Update handling */ public void checkForNewUpdate(String token, boolean force, AsyncCallback<String> callback); /** * MDR Handling... */ public void createMDR(String token, BaseModel data, AsyncCallback<BaseModel> callback); public void deleteMDR(String token, BaseModel data, AsyncCallback<Void> callback); public void createMDRConfig(String token, BaseModel data, AsyncCallback<Void> callback); public void deleteMDRConfig(String token, BaseModel data, AsyncCallback<Void> callback); public void autoResolveTransformRelations(String token, TransformModel m, AsyncCallback<TransformModel> callback); public void loadTransformConfig(String token, ContentData ciMDRData, CIModel mdr, CIModel mdrCfg, AsyncCallback<TransformConfig> callback); public void loadDataSourceColumns(String token, TransformConfig config, AsyncCallback<GridModelConfig> callback); public void loadDataSourceData(String token, BasePagingLoadConfig config, AsyncCallback<BasePagingLoadResult<BaseModel>> callback); public void storeTransformConfig(String token, ContentData ciMDRData, CIModel mdr, CIModel mdrCfg, TransformConfig cfg, AsyncCallback<Boolean> callback); public void calculateMDRInstances(String token, TransformConfig cfg, AsyncCallback<List<BaseModel>> callback); }