/* * Copyright 2004-2009 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 org.compass.core.impl; import org.compass.core.CompassAnalyzerHelper; import org.compass.core.CompassException; import org.compass.core.CompassHits; import org.compass.core.CompassQuery; import org.compass.core.CompassQueryBuilder; import org.compass.core.CompassQueryFilterBuilder; import org.compass.core.Resource; import org.compass.core.cache.first.FirstLevelCache; import org.compass.core.config.CompassSettings; import org.compass.core.engine.SearchEngine; import org.compass.core.mapping.CompassMapping; import org.compass.core.marshall.MarshallingContext; import org.compass.core.marshall.MarshallingStrategy; import org.compass.core.metadata.CompassMetaData; import org.compass.core.spi.DirtyOperationContext; import org.compass.core.spi.InternalCompass; import org.compass.core.spi.InternalCompassSession; import org.compass.core.spi.InternalSessionDelegateClose; /** * @author kimchy */ public class ExistingCompassSession implements InternalCompassSession { private final InternalCompassSession session; public ExistingCompassSession(InternalCompassSession session) { this.session = session; } public InternalCompassSession getActualSession() { return this.session; } public void close() throws CompassException { // do nothing, works with existing one } // simple delegates public InternalCompass getCompass() { return session.getCompass(); } public SearchEngine getSearchEngine() { return session.getSearchEngine(); } public FirstLevelCache getFirstLevelCache() { return session.getFirstLevelCache(); } public Object get(String alias, Object id, MarshallingContext context) throws CompassException { return session.get(alias, id, context); } public void setReadOnly() { session.setReadOnly(); } public boolean isReadOnly() { return session.isReadOnly(); } public CompassSettings getSettings() { return session.getSettings(); } public void flush() throws CompassException { session.flush(); } public boolean isClosed() { return session.isClosed(); } @Override public void create(Object object) { session.create(object); } @Override public Object get(String alias, Object id) throws CompassException { return session.get(alias, id); } @Override public Object get(String alias, Object... ids) throws CompassException { return session.get(alias, ids); } @Override public void evictAll() { session.evictAll(); } public <T> T get(Class<T> clazz, Object id) throws CompassException { return session.get(clazz, id); } public <T> T load(Class<T> clazz, Object id) throws CompassException { return session.load(clazz, id); } public Object load(String alias, Object id) { return session.load(alias, id); } public void create(String alias, Resource obj) { session.create(alias, obj); } public void create(String alias, Object obj) { session.create(alias, obj); } public void delete(Resource resource) { session.delete(resource); } public void delete(Object obj) { session.delete(obj); } @Override public void delete(String alias, Object... ids) throws CompassException { session.delete(alias, ids); } @Override public void delete(Class<?> clazz, Object... ids) throws CompassException { session.delete(clazz, ids); } @Override public void delete(CompassQuery query) throws CompassException { session.delete(query); } public CompassHits find(String query) { return session.find(query); } public void delete(Class<?> clazz, Object obj) { session.delete(clazz, obj); } public void delete(String alias, Object obj) { session.delete(alias, obj); } public Resource getResource(Class<?> clazz, Object id) { return session.getResource(clazz, id); } public Resource getResource(String alias, Object id) { return session.getResource(alias, id); } public Resource loadResource(Class<?> clazz, Object id) { return session.loadResource(clazz, id); } public Resource loadResource(String alias, Object id) { return session.loadResource(alias, id); } public void save(Object obj) { session.save(obj); } public void save(String alias, Object obj) { session.save(alias, obj); } public void evict(Object obj) { session.evict(obj); } public void evict(String alias, Object id) { session.evict(alias, id); } @Override public CompassQueryBuilder queryBuilder() throws CompassException { return session.queryBuilder(); } @Override public CompassQueryFilterBuilder queryFilterBuilder() throws CompassException { return session.queryFilterBuilder(); } @Override public CompassMapping getMapping() { return session.getMapping(); } @Override public CompassMetaData getMetaData() { return session.getMetaData(); } @Override public void delete(Object value, DirtyOperationContext context) { session.delete(value, context); } @Override public void create(Object value, DirtyOperationContext context) { session.create(value, context); } @Override public void save(Object value, DirtyOperationContext context) { session.save(value, context); } @Override public Resource getResource(Class<?> clazz, Object... ids) throws CompassException { return session.getResource(clazz, ids); } @Override public Resource getResource(String alias, Object... ids) throws CompassException { return session.getResource(alias, ids); } @Override public Resource loadResource(Class<?> clazz, Object... ids) throws CompassException { return session.loadResource(clazz, ids); } @Override public Resource loadResource(String alias, Object... ids) throws CompassException { return session.loadResource(alias, ids); } @Override public <T> T get(Class<T> clazz, Object... ids) throws CompassException { return session.get(clazz, ids); } @Override public <T> T load(Class<T> clazz, Object... ids) throws CompassException { return session.load(clazz, ids); } @Override public Object load(String alias, Object... ids) throws CompassException { return session.load(alias, ids); } @Override public void evict(Resource resource) { session.evict(resource); } @Override public Object getByResource(Resource resource) throws CompassException { return session.getByResource(resource); } @Override public void addDelegateClose(InternalSessionDelegateClose delegateClose) { session.addDelegateClose(delegateClose); } @Override public MarshallingStrategy getMarshallingStrategy() { return session.getMarshallingStrategy(); } @Override public CompassAnalyzerHelper analyzerHelper() throws CompassException { return session.analyzerHelper(); } @Override public Resource getResourceByIdResource(Resource idResource) throws CompassException { return session.getResourceByIdResource(idResource); } @Override public Resource getResourceByIdResourceNoCache(Resource idResource) throws CompassException { return session.getResourceByIdResourceNoCache(idResource); } public final void beginTransaction() { bindSession(); } public void bindSession() { session.bindSession(); } }