mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-09 06:55:47 +01:00
implement new store listener api
This commit is contained in:
@@ -30,6 +30,7 @@
|
||||
*/
|
||||
|
||||
|
||||
|
||||
package sonia.scm.store.orientdb;
|
||||
|
||||
//~--- non-JDK imports --------------------------------------------------------
|
||||
@@ -43,6 +44,7 @@ import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import sonia.scm.orientdb.OrientDBUtil;
|
||||
import sonia.scm.store.AbstractListenableStore;
|
||||
import sonia.scm.store.Store;
|
||||
import sonia.scm.util.Util;
|
||||
|
||||
@@ -60,7 +62,7 @@ import javax.xml.bind.JAXBException;
|
||||
*
|
||||
* @param <T>
|
||||
*/
|
||||
public class OrientDBStore<T> implements Store<T>
|
||||
public class OrientDBStore<T> extends AbstractListenableStore<T>
|
||||
{
|
||||
|
||||
/** Field description */
|
||||
@@ -158,6 +160,7 @@ public class OrientDBStore<T> implements Store<T>
|
||||
*
|
||||
* @param t
|
||||
*/
|
||||
@Override
|
||||
public void set(T t)
|
||||
{
|
||||
ODatabaseDocumentTx connection = connectionProvider.get();
|
||||
@@ -178,6 +181,7 @@ public class OrientDBStore<T> implements Store<T>
|
||||
context.createMarshaller().marshal(t, buffer);
|
||||
doc.field(FIELD_DATA, buffer.toString());
|
||||
doc.save();
|
||||
fireEvent(t);
|
||||
}
|
||||
catch (JAXBException ex)
|
||||
{
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
*/
|
||||
|
||||
|
||||
|
||||
package sonia.scm.store.orientdb;
|
||||
|
||||
//~--- non-JDK imports --------------------------------------------------------
|
||||
@@ -46,8 +47,7 @@ import com.orientechnologies.orient.core.metadata.schema.OType;
|
||||
|
||||
import sonia.scm.SCMContextProvider;
|
||||
import sonia.scm.orientdb.OrientDBUtil;
|
||||
import sonia.scm.store.Store;
|
||||
import sonia.scm.store.StoreFactory;
|
||||
import sonia.scm.store.ListenableStoreFactory;
|
||||
import sonia.scm.util.AssertUtil;
|
||||
|
||||
//~--- JDK imports ------------------------------------------------------------
|
||||
@@ -62,7 +62,7 @@ import javax.xml.bind.JAXBException;
|
||||
* @author Sebastian Sdorra
|
||||
*/
|
||||
@Singleton
|
||||
public class OrientDBStoreFactory implements StoreFactory
|
||||
public class OrientDBStoreFactory implements ListenableStoreFactory
|
||||
{
|
||||
|
||||
/**
|
||||
@@ -138,7 +138,7 @@ public class OrientDBStoreFactory implements StoreFactory
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public <T> Store<T> getStore(Class<T> type, String name)
|
||||
public <T> OrientDBStore<T> getStore(Class<T> type, String name)
|
||||
{
|
||||
AssertUtil.assertIsNotNull(type);
|
||||
AssertUtil.assertIsNotEmpty(name);
|
||||
|
||||
@@ -52,7 +52,7 @@ import javax.xml.bind.Marshaller;
|
||||
*
|
||||
* @param <T>
|
||||
*/
|
||||
public class JAXBStore<T> implements Store<T>
|
||||
public class JAXBStore<T> extends AbstractListenableStore<T>
|
||||
{
|
||||
|
||||
/** the logger for JAXBStore */
|
||||
@@ -149,6 +149,8 @@ public class JAXBStore<T> implements Store<T>
|
||||
|
||||
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
|
||||
marshaller.marshal(object, configFile);
|
||||
|
||||
fireEvent(object);
|
||||
}
|
||||
catch (JAXBException ex)
|
||||
{
|
||||
|
||||
@@ -53,7 +53,7 @@ import java.io.IOException;
|
||||
* @author Sebastian Sdorra
|
||||
*/
|
||||
@Singleton
|
||||
public class JAXBStoreFactory implements StoreFactory
|
||||
public class JAXBStoreFactory implements ListenableStoreFactory
|
||||
{
|
||||
|
||||
/** Field description */
|
||||
@@ -108,7 +108,7 @@ public class JAXBStoreFactory implements StoreFactory
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public <T> Store<T> getStore(Class<T> type, String name)
|
||||
public <T> JAXBStore<T> getStore(Class<T> type, String name)
|
||||
{
|
||||
File configFile = new File(configDirectory, name.concat(FILE_EXTENSION));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user