Skip to content

Commit

Permalink
create a main application to persist test data on local storage
Browse files Browse the repository at this point in the history
  • Loading branch information
Roger Kowalewski committed Aug 16, 2013
1 parent 0b22b8c commit 04b5051
Show file tree
Hide file tree
Showing 14 changed files with 139 additions and 18 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

# Mac
.DS_Store
.shell_history

# Maven
log/
Expand Down
28 changes: 28 additions & 0 deletions src/main/java/com/comsysto/neo4j/showcase/main/Main.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package com.comsysto.neo4j.showcase.main;

import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.transaction.jta.JtaTransactionManager;

import javax.transaction.*;

/**
* @author: rkowalewski
*/
public class Main {

private static final String CLASSPATH_LOCATION = "classpath:com/comsysto/neo4j/showcase/main/related-to-via-test-context.xml";

public static void main(String[] args) throws SystemException, NotSupportedException, HeuristicRollbackException, HeuristicMixedException, RollbackException {

ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(CLASSPATH_LOCATION);

JtaTransactionManager tx = (JtaTransactionManager) context.getBean("neo4jTransactionManager");
Neo4jPersister neo4jPersister = (Neo4jPersister) context.getBean("neo4jPersister");

tx.getTransactionManager().begin();

neo4jPersister.createTestData();

tx.getTransactionManager().commit();
}
}
64 changes: 64 additions & 0 deletions src/main/java/com/comsysto/neo4j/showcase/main/Neo4jPersister.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
package com.comsysto.neo4j.showcase.main;

import com.comsysto.neo4j.showcase.model.Product;
import com.comsysto.neo4j.showcase.repository.ProductRepository;
import com.comsysto.neo4j.showcase.model.User;
import com.comsysto.neo4j.showcase.repository.UserRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

/**
* @author: rkowalewski
*/
@Component
@Transactional(propagation = Propagation.REQUIRED)
public class Neo4jPersister {

@Autowired
public ProductRepository productRepository;
@Autowired
public UserRepository userRepository;

private void userClickedProduct(User user, Product product) {

user.addClickedProduct(product);

userRepository.save(user);
productRepository.save(product);
}

private Product createProduct(String id, String name) {
return productRepository.save(new Product(id, name));
}

private User createUser(String id, String name) {
return userRepository.save(new User(id, name));
}

public void createTestData() {
User jordan = createUser("MJ", "Monika Jordan");
User pippen = createUser("SP", "Sandra Pippen");
User miller = createUser("JM", "John Miller");

Product pizzaMargarita = createProduct("Pizza_1", "Pizza Margarita");
Product pizzaFungi = createProduct("Pizza_2", "Pizza Fungi");
Product pizzaSalami = createProduct("Pizza_3", "Pizza Salami");
Product pizzaVegitarian = createProduct("Pizza_4", "Pizza Vegitarian");
Product pizzaRustica = createProduct("Pizza_5", "Pizza Rustica");

userClickedProduct(jordan, pizzaMargarita);
userClickedProduct(jordan, pizzaFungi);
userClickedProduct(jordan, pizzaSalami);

userClickedProduct(pippen, pizzaMargarita);
userClickedProduct(pippen, pizzaVegitarian);
userClickedProduct(pippen, pizzaRustica);
userClickedProduct(pippen, pizzaMargarita);
userClickedProduct(pippen, pizzaVegitarian);

userClickedProduct(miller, pizzaFungi);
}

}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.comsysto.springDataNeo4j.showcase;
package com.comsysto.neo4j.showcase.model;

import org.springframework.data.neo4j.annotation.*;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.comsysto.springDataNeo4j.showcase;
package com.comsysto.neo4j.showcase.model;

import org.springframework.data.neo4j.annotation.GraphId;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.comsysto.springDataNeo4j.showcase;
package com.comsysto.neo4j.showcase.model;

import org.springframework.data.neo4j.annotation.Indexed;
import org.springframework.data.neo4j.annotation.NodeEntity;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.comsysto.springDataNeo4j.showcase;
package com.comsysto.neo4j.showcase.model;

import org.springframework.data.neo4j.annotation.*;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.comsysto.springDataNeo4j.showcase;
package com.comsysto.neo4j.showcase.model;

/**
* @author: rkowalewski
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.comsysto.springDataNeo4j.showcase;
package com.comsysto.neo4j.showcase.model;

import org.springframework.data.neo4j.annotation.Indexed;
import org.springframework.data.neo4j.annotation.NodeEntity;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.comsysto.springDataNeo4j.showcase;
package com.comsysto.neo4j.showcase.repository;

import com.comsysto.neo4j.showcase.model.Product;
import org.springframework.data.neo4j.annotation.Query;
import org.springframework.data.neo4j.repository.GraphRepository;
import org.springframework.data.repository.query.Param;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.comsysto.springDataNeo4j.showcase;
package com.comsysto.neo4j.showcase.repository;

import com.comsysto.neo4j.showcase.model.User;
import org.springframework.data.neo4j.repository.GraphRepository;


Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:neo4j="http://www.springframework.org/schema/data/neo4j"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/data/neo4j http://www.springframework.org/schema/data/neo4j/spring-neo4j.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">

<context:spring-configured/>
<context:annotation-config/>

<neo4j:config storeDirectory="target/data/db_main"/>

<neo4j:repositories base-package="com.comsysto.neo4j.showcase.repository"/>

<context:component-scan base-package="com.comsysto.neo4j.showcase.main"/>

</beans>
Original file line number Diff line number Diff line change
@@ -1,25 +1,30 @@
package com.comsysto.springDataNeo4j.showcase;
package com.comsysto.neo4j.showcase;

import com.comsysto.neo4j.showcase.model.Product;
import com.comsysto.neo4j.showcase.model.User;
import com.comsysto.neo4j.showcase.repository.ProductRepository;
import com.comsysto.neo4j.showcase.repository.UserRepository;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.neo4j.graphdb.GraphDatabaseService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.neo4j.support.node.Neo4jHelper;
import org.springframework.test.annotation.Rollback;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;
import java.util.Set;

import static org.junit.Assert.*;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;


@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:com/comsysto/springDataNeo4j/showcase/related-to-via-test-context.xml"})
@ContextConfiguration(locations = {"classpath:com/comsysto/neo4j/showcase/related-to-via-test-context.xml"})
@Transactional
public class SpringDataNeo4jProductUserTest {

Expand All @@ -29,8 +34,8 @@ public class SpringDataNeo4jProductUserTest {
@Autowired
private UserRepository userRepository;

// @Autowired
// GraphDatabaseService graphDatabaseService;
@Autowired
GraphDatabaseService graphDatabaseService;

User jordan, pippen, miller;
Product pizzaMargarita, pizzaFungi, pizzaSalami, pizzaVegitarian, pizzaRustica;
Expand Down Expand Up @@ -138,8 +143,8 @@ private void userClickedProduct(User user, Product product) {
productRepository.save(product);
}

// @After
@After
public void cleanDB() {
// Neo4jHelper.cleanDb(graphDatabaseService);
Neo4jHelper.cleanDb(graphDatabaseService);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@
<context:spring-configured/>
<context:annotation-config/>

<neo4j:config storeDirectory="target/data/db"/>
<neo4j:config storeDirectory="target/data/db_main" graphDatabaseService="graphDatabaseService"/>

<!--<bean id="graphDatabaseService" class="org.neo4j.test.ImpermanentGraphDatabase" destroy-method="shutdown"/>-->
<bean id="graphDatabaseService" class="org.neo4j.test.ImpermanentGraphDatabase" destroy-method="shutdown"/>

<neo4j:repositories base-package="com.comsysto.springDataNeo4j.showcase"/>
<neo4j:repositories base-package="com.comsysto.neo4j.showcase.repository"/>

</beans>

0 comments on commit 04b5051

Please sign in to comment.