Open bytor99999 opened 11 years ago
You have to extend CrudRepository or PagingAndSortingRepository.
Sent from my iPhone
On Jan 25, 2013, at 7:30 PM, Mark Spritzler notifications@github.com wrote:
I have a simple JpaRepository, but when I do discover in the rest shell it doesn't show any CRUD operations.
Here is my code for the repo
public interface CurrencyRepository extends JpaRepository { }
This is a current Spring MVC app, so we just included
I see there is mapping being done in the tomcat log, but no CRUD operations show in discover.
— Reply to this email directly or view it on GitHub.
I thought JpaRepository already extends CrudRepository?
Thanks Jon
Mark
On Jan 26, 2013, at 8:25 AM, Jon Brisbin notifications@github.com wrote:
You have to extend CrudRepository or PagingAndSortingRepository.
Sent from my iPhone
On Jan 25, 2013, at 7:30 PM, Mark Spritzler notifications@github.com wrote:
I have a simple JpaRepository, but when I do discover in the rest shell it doesn't show any CRUD operations.
Here is my code for the repo
public interface CurrencyRepository extends JpaRepository { }
This is a current Spring MVC app, so we just included
I see there is mapping being done in the tomcat log, but no CRUD operations show in discover.
— Reply to this email directly or view it on GitHub.
— Reply to this email directly or view it on GitHub.
It could be that it's not searching superinterfaces. The latest code in master does things completely differently w.r.t. metadata so shouldn't have that problem. Do you have others that are direct subclasses of CrudRepository and do show up?
On Jan 26, 2013, at 12:26 PM, Mark Spritzler notifications@github.com wrote:
I thought JpaRepository already extends CrudRepository?
Thanks Jon
Mark
On Jan 26, 2013, at 8:25 AM, Jon Brisbin notifications@github.com wrote:
You have to extend CrudRepository or PagingAndSortingRepository.
Sent from my iPhone
On Jan 25, 2013, at 7:30 PM, Mark Spritzler notifications@github.com wrote:
I have a simple JpaRepository, but when I do discover in the rest shell it doesn't show any CRUD operations.
Here is my code for the repo
public interface CurrencyRepository extends JpaRepository { }
This is a current Spring MVC app, so we just included
I see there is mapping being done in the tomcat log, but no CRUD operations show in discover.
— Reply to this email directly or view it on GitHub.
— Reply to this email directly or view it on GitHub.
— Reply to this email directly or view it on GitHub.
No. I can try that out. Make it extend Crud and Jpa Repository.
Is master, um almost, closely production ready???
Thanks
Mark
On Sat, Jan 26, 2013 at 10:55 AM, Jon Brisbin notifications@github.comwrote:
It could be that it's not searching superinterfaces. The latest code in master does things completely differently w.r.t. metadata so shouldn't have that problem. Do you have others that are direct subclasses of CrudRepository and do show up?
On Jan 26, 2013, at 12:26 PM, Mark Spritzler notifications@github.com wrote:
I thought JpaRepository already extends CrudRepository?
Thanks Jon
Mark
On Jan 26, 2013, at 8:25 AM, Jon Brisbin notifications@github.com wrote:
You have to extend CrudRepository or PagingAndSortingRepository.
Sent from my iPhone
On Jan 25, 2013, at 7:30 PM, Mark Spritzler notifications@github.com wrote:
I have a simple JpaRepository, but when I do discover in the rest shell it doesn't show any CRUD operations.
Here is my code for the repo
public interface CurrencyRepository extends JpaRepository { }
This is a current Spring MVC app, so we just included
I see there is mapping being done in the tomcat log, but no CRUD operations show in discover.
— Reply to this email directly or view it on GitHub.
— Reply to this email directly or view it on GitHub.
— Reply to this email directly or view it on GitHub.
— Reply to this email directly or view it on GitHubhttps://github.com/SpringSource/spring-data-rest/issues/63#issuecomment-12740085.
On Jan 26, 2013, at 1:38 PM, Mark Spritzler notifications@github.com wrote:
Is master, um almost, closely production ready???
Not yet. Working on a comprehensive test suite now. A week or two probably.
I just made my repositories extend JpaRepository and CrudRepository. Tried to make it just extend CrudRepository and it still isn't exporting CRUD save etc. Just search.
Thanks
Mark
On Sat, Jan 26, 2013 at 11:41 AM, Jon Brisbin notifications@github.comwrote:
On Jan 26, 2013, at 1:38 PM, Mark Spritzler notifications@github.com wrote:
Is master, um almost, closely production ready???
Not yet. Working on a comprehensive test suite now. A week or two probably.
— Reply to this email directly or view it on GitHubhttps://github.com/SpringSource/spring-data-rest/issues/63#issuecomment-12740903.
Can you send me some example code of what your setup is like (including domain model and Repository)? There's something weird going on and it's not apparent to me so far why this should be any different than the test situation I'm working on today which seems to work fine.
On Jan 28, 2013, at 11:56 AM, Mark Spritzler notifications@github.com wrote:
I just made my repositories extend JpaRepository and CrudRepository. Tried to make it just extend CrudRepository and it still isn't exporting CRUD save etc. Just search.
Thanks
Mark
On Sat, Jan 26, 2013 at 11:41 AM, Jon Brisbin notifications@github.comwrote:
On Jan 26, 2013, at 1:38 PM, Mark Spritzler notifications@github.com wrote:
Is master, um almost, closely production ready???
Not yet. Working on a comprehensive test suite now. A week or two probably.
— Reply to this email directly or view it on GitHubhttps://github.com/SpringSource/spring-data-rest/issues/63#issuecomment-12740903.
— Reply to this email directly or view it on GitHub.
So I am using the style of adding Spring Data Rest to an already existing Spring MVC app. So there isn't a special Spring Rest Servlet deployed in web.xml.
It also brings up a bizarre problem. I am also using Spring Security and didn't want to have to put a url-intercept tag for each and every repository exported by Spring Rest. I would rather them have /someUrl/{repository} where someUrl is different than the ServletMapping for the DispatcherServlet?
OK, let me get you some sample of what I can.
Thanks
Mark
On Mon, Jan 28, 2013 at 9:55 AM, Mark Spritzler bytor99999@gmail.comwrote:
I just made my repositories extend JpaRepository and CrudRepository. Tried to make it just extend CrudRepository and it still isn't exporting CRUD save etc. Just search.
Thanks
Mark
On Sat, Jan 26, 2013 at 11:41 AM, Jon Brisbin notifications@github.comwrote:
On Jan 26, 2013, at 1:38 PM, Mark Spritzler notifications@github.com wrote:
Is master, um almost, closely production ready???
Not yet. Working on a comprehensive test suite now. A week or two probably.
— Reply to this email directly or view it on GitHubhttps://github.com/SpringSource/spring-data-rest/issues/63#issuecomment-12740903.
After pasting all this, there isn't anything in there that I see that is out of the ordinary. I mean except for my specific classes all the configs would be in almost 90+ % of projects out there. Thanks for taking the time to look at this.
Mark
The web.xml is very standard. ContextLoaderListener with WEB-INF/applicationContext default naming. DispatcherServlet with WEB-INF/servletName-servlet.xml default naming. Spring Security DelegatingFilterProxy.
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>hdpoker</display-name>
<!-- Enable escaping of form submission contents -->
<filter>
<filter-name>springSecurityFilterChain</filter-name>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- Bootstrap the root application context as usual using
ContextLoaderListener -->
<!-- Handles Spring requests -->
<servlet>
<servlet-name>hdpoker</servlet-name>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>hdpoker</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>0</session-timeout>
</session-config>
<mime-mapping>
<extension>xsd</extension>
<mime-type>text/xml</mime-type>
</mime-mapping>
Here is my config for Spring Data JPA <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util="http://www.springframework.org/schema/util" xmlns:jpa="http://www.springframework.org/schema/data/jpa" xmlns:tx=" http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util-2.0.xsd http://www.springframework.org/schema/data/jpa
http://www.springframework.org/schema/data/jpa/spring-jpa.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd">
<util:properties id="postgresProperties"
location="classpath:META-INF/spring/postgres.properties"/>
<bean
class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor"/>
<bean id="dataSource" class="org.postgresql.ds.PGPoolingDataSource">
<property name="portNumber"
value="#{postgresProperties['postgres.port']}"/> <property name="user" value="#{postgresProperties['postgres.username']}"/> <property name="serverName" value="#{postgresProperties['postgres.url']}"/> <property name="databaseName" value="#{postgresProperties['postgres.databasename']}"/>
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="jpaVendorAdapter" ref="jpaAdapter"/>
<property name="loadTimeWeaver">
<bean
class="org.springframework.instrument.classloading.InstrumentationLoadTimeWeaver"/>
<property name="packagesToScan">
<list>
<value>com.hdpoker.account</value>
</list>
</property>
</bean>
<bean id="transactionManager"
class="org.springframework.orm.jpa.JpaTransactionManager">
</bean>
<bean id="jpaAdapter"
class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
<property name="showSql" value="true"/>
<property name="generateDdl" value="true"/>
</bean>
<jpa:repositories base-package="com.hdpoker.account.repository.jpa"
entity-manager-factory-ref="entityManagerFactory"/> tx:annotation-driven/
Here is the hdpoker-servlet.xml file (Most of it is copied/pasted from a ROO project a year ago, except the top line for Spring Data Rest)
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Bean for Spring Data REST to export Spring Data JPA Repositories
to a HATEOS REST Api--> <bean class="org.springframework.data.rest.webmvc.RepositoryRestMvcConfiguration"/>
<context:component-scan base-package="com.hdpoker.controller" use-default-filters="false"> <context:include-filter expression="org.springframework.stereotype.Controller" type="annotation"/> /context:component-scan
mvc:annotation-driven/
<mvc:resources location="/, classpath:/META-INF/web-resources/" mapping="/resources/**"/>
mvc:default-servlet-handler/
mvc:interceptors
/mvc:interceptors
<mvc:view-controller path="/" view-name="index"/>
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="suffix" value=".jsp"/>
</bean>
<bean class="org.springframework.context.support.ReloadableResourceBundleMessageSource" id="messageSource"> <property name="basenames" value="WEB-INF/i18n/messages,WEB-INF/i18n/application"/>
</bean>
<bean class="org.springframework.web.servlet.i18n.CookieLocaleResolver" id="localeResolver">
<bean class="org.springframework.ui.context.support.ResourceBundleThemeSource" id="themeSource"/>
<bean class="org.springframework.web.servlet.theme.CookieThemeResolver" id="themeResolver">
<bean class="org.springframework.web.multipart.commons.CommonsMultipartResolver" id="multipartResolver"/>
Standard xml for JPA. LocalContainerEntityManagerFactory, Datasource pointing to Postgres, JpaTransactionManager, <jpa:repositories base-package="com.hdpoker.account.repository.jpa" entity-manager-factory-ref="entityManagerFactory"/>
Repo:
public interface AccountSecurityRepository extends JpaRepository<AccountSecurity, Long>, CrudRepository<AccountSecurity, Long> { AccountSecurity findByUsername(String username); }
Domain object: This is a Groovy class.
@Entity @Table(name="AccountUser") class AccountSecurity implements UserDetails {
@Id @GeneratedValue(strategy = GenerationType.AUTO) Long id;
Long nodeId; @Transient Account account;
String firstName; String lastName; Locale locale; TimeZone timeZone; Date lastModified; Date birthday;
@ManyToOne @JoinColumn(name="currency_id") com.hdpoker.account.account.Currency currencyId;
String email;
@ManyToMany(cascade = CascadeType.ALL)
Set
@ManyToMany(cascade = CascadeType.ALL)
Set
public Collection<? extends GrantedAuthority> getAuthorities() {
final Collection
for (UserGroup group : groups) {
authorities.add(new SimpleGrantedAuthority(group.getName()));
}
return authorities;
}
String password;
@NotNull String username;
@Transient boolean accountNonExpired = true;
@Transient boolean accountNonLocked = true;
@Transient boolean credentialsNonExpired = true;
@Transient boolean enabled = true;
private void setId(Long id){} }
On Mon, Jan 28, 2013 at 10:03 AM, Jon Brisbin notifications@github.comwrote:
Can you send me some example code of what your setup is like (including domain model and Repository)? There's something weird going on and it's not apparent to me so far why this should be any different than the test situation I'm working on today which seems to work fine.
On Jan 28, 2013, at 11:56 AM, Mark Spritzler notifications@github.com wrote:
I just made my repositories extend JpaRepository and CrudRepository. Tried to make it just extend CrudRepository and it still isn't exporting CRUD save etc. Just search.
Thanks
Mark
On Sat, Jan 26, 2013 at 11:41 AM, Jon Brisbin notifications@github.comwrote:
On Jan 26, 2013, at 1:38 PM, Mark Spritzler notifications@github.com
wrote:
Is master, um almost, closely production ready???
Not yet. Working on a comprehensive test suite now. A week or two probably.
Reply to this email directly or view it on GitHub< https://github.com/SpringSource/spring-data-rest/issues/63#issuecomment-12740903>.
Reply to this email directly or view it on GitHub.
Reply to this email directly or view it on GitHubhttps://github.com/SpringSource/spring-data-rest/issues/63#issuecomment-12794879.
I have a simple JpaRepository, but when I do discover in the rest shell it doesn't show any CRUD operations.
Here is my code for the repo
public interface CurrencyRepository extends JpaRepository<Currency, Long> { }
This is a current Spring MVC app, so we just included
I see there is mapping being done in the tomcat log, but no CRUD operations show in discover.