/* * Copyright 2002-2005 the original author or authors. * * Licensed under the Apache 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.apache.org/licenses/LICENSE-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 info.jtrac; import info.jtrac.domain.Attachment; import info.jtrac.domain.Config; import info.jtrac.domain.Counts; import info.jtrac.domain.CountsHolder; import info.jtrac.domain.Item; import info.jtrac.domain.ItemSearch; import info.jtrac.domain.Metadata; import info.jtrac.domain.Space; import info.jtrac.domain.User; import info.jtrac.domain.Field; import info.jtrac.domain.History; import info.jtrac.domain.ItemItem; import info.jtrac.domain.ItemUser; import info.jtrac.domain.SpaceSequence; import info.jtrac.domain.UserSpaceRole; import java.util.Collection; import java.util.List; /** * Jtrac DAO Interface * all database access operations */ public interface JtracDao { void storeItem(Item item); Item loadItem(long id); History loadHistory(long id); void storeHistory(History history); List<Item> findItems(long sequenceNum, String prefixCode); List<Item> findItems(ItemSearch itemSearch); int loadCountOfAllItems(); List<Item> findAllItems(int firstResult, int batchSize); void removeItem(Item item); void removeItemItem(ItemItem itemItem); List<ItemUser> findItemUsersByUser(User user); void removeItemUser(ItemUser itemUser); //=========================================== int loadCountOfRecordsHavingFieldNotNull(Space space, Field field); int bulkUpdateFieldToNull(Space space, Field field); int loadCountOfRecordsHavingFieldWithValue(Space space, Field field, int optionKey); int bulkUpdateFieldToNullForValue(Space space, Field field, int optionKey); int loadCountOfRecordsHavingStatus(Space space, int status); int bulkUpdateStatusToOpen(Space space, int status); int bulkUpdateRenameSpaceRole(Space space, String oldRoleKey, String newRoleKey); int bulkUpdateDeleteSpaceRole(Space space, String roleKey); int bulkUpdateDeleteItemsForSpace(Space space); //======================================================== void storeAttachment(Attachment attachment); //=========================================== void storeMetadata(Metadata metadata); Metadata loadMetadata(long id); //=========================================== void storeSpace(Space space); Space loadSpace(long id); List<Space> findSpacesByPrefixCode(String prefixCode); List<Space> findAllSpaces(); List<Space> findSpacesNotAllocatedToUser(long userId); List<Space> findSpacesWhereIdIn(List<Long> ids); List<Space> findSpacesWhereGuestAllowed(); void removeSpace(Space space); //=========================================== long loadNextSequenceNum(long spaceSequenceId); void storeSpaceSequence(SpaceSequence spaceSequence); //=========================================== void storeUser(User user); User loadUser(long id); void removeUser(User user); List<User> findAllUsers(); List<User> findUsersWhereIdIn(List<Long> ids); List<User> findUsersMatching(String searchText, String searchOn); List<User> findUsersByLoginName(String loginName); List<User> findUsersByEmail(String email); List<User> findUsersForSpace(long spaceId); List<User> findUsersNotAllocatedToSpace(long spaceId); List<UserSpaceRole> findUserRolesForSpace(long spaceId); List<UserSpaceRole> findSpaceRolesForUser(long userId); List<User> findUsersWithRoleForSpace(long spaceId, String roleKey); List<User> findUsersForSpaceSet(Collection<Space> spaces); List<User> findSuperUsers(); int loadCountOfHistoryInvolvingUser(User user); //=========================================== UserSpaceRole loadUserSpaceRole(long id); void removeUserSpaceRole(UserSpaceRole userSpaceRole); //=========================================== CountsHolder loadCountsForUser(User user); Counts loadCountsForUserSpace(User user, Space space); //=========================================== List<Config> findAllConfig(); void storeConfig(Config config); Config loadConfig(String key); }