Skip to content

Instantly share code, notes, and snippets.

View Tcharl's full-sized avatar
🏠
Working from home

Charlie Mordant Tcharl

🏠
Working from home
  • Osgiliath corp
  • Boulogne-Billancourt, France
  • X @Tcharl
View GitHub Profile
@Tcharl
Tcharl / datasource-declaration.xml
Last active August 29, 2015 14:09
Declare a Derby datasource
<bean id="derbyServerIP" class="java.net.InetAddress"
factory-method="getByName">
<argument value="localhost"></argument>
</bean>
<bean id="derbyServer" class="org.apache.derby.drda.NetworkServerControl"
destroy-method="shutdown">
<argument ref="derbyServerIP" />
<argument value="$[database.port]" />
</bean>
<bean id="pw" class="java.io.PrintWriter">
@Tcharl
Tcharl / datasource-service.xml
Last active August 29, 2015 14:09
Export a datasource as an OSGI service
<service ref="dataSource" interface="javax.sql.DataSource">
<service-properties>
<entry key="osgi.jndi.service.name" value="jdbc/${project.parent.artifactId}.database" />
</service-properties>
</service>
@Tcharl
Tcharl / datasource-xa-service.xml
Last active August 29, 2015 14:09
Export transactional datasource as an OSGI service
<service ref="dataSource" interface="javax.sql.XADataSource">
<service-properties>
<entry key="osgi.jndi.service.name" value="jdbc/${project.parent.artifactId}.database.xa" />
</service-properties>
</service>
@Tcharl
Tcharl / HelloEntity.java
Created November 11, 2014 17:35
Simple entity
@Data
// equals, hashcode, getters and setters
@Builder
// builder pattern
@NoArgsConstructor
// constructor
@AllArgsConstructor
// other constructor
@Entity
// persistence class declaration
@Tcharl
Tcharl / HelloObjectRepository.java
Last active March 26, 2016 14:10
Repository interface
/**
* JPA accessible interface by business or route module
* (see business module for JMS or REST export, don't forget the
* osgi.bnd cxf package export).
* @author charliemordant
*/
public interface HelloRepository extends JpaRepository<HelloEntity, Long>
{
/**
@Tcharl
Tcharl / HelloObjectJpaRepository.java
Last active March 26, 2016 14:50
Simple repository implementation
@OsgiServiceProvider(classes = { HelloRepository.class })
@Singleton
@Transactional
public class HelloJpaRepository extends DelegatingSimpleJpaRepository<HelloEntity, Long> implements HelloRepository {
/**
* Entity manager.
*/
@PersistenceContext(unitName = "myTestPu")
private EntityManager em;
@Tcharl
Tcharl / repository-wiring.xml
Created November 11, 2014 17:58
Repository wiring
<bean id="helloObjectRepository" class="net.osgiliath.hello.model.jpa.repository.impl.HelloObjectJpaRepository">
<argument value="${project.artifactId}.model.HelloEntity"></argument>
<jpa:context unitname="${project.artifactId}Pu"></jpa:context>
<tx:transaction method="*" value="Required" />
</bean>
@Tcharl
Tcharl / repository-export.xml
Created November 11, 2014 17:59
Repository exporting
<service ref="helloObjectRepository" interface="net.osgiliath.hello.model.jpa.repository.HelloObjectRepository" />
@Slf4j
@ApplicationScoped
@ContextName
public class HelloServiceJMS extends RouteBuilder implements HelloService {
private final transient DataFormat helloObjectJSonFormat = new JacksonDataFormat(
HelloEntity.class, Hellos.class);
/**
* The repository.
*/
@Inject