10 changed files with 330 additions and 2 deletions
@ -1 +1 @@
@@ -1 +1 @@
|
||||
data |
||||
/data |
||||
|
||||
@ -0,0 +1,105 @@
@@ -0,0 +1,105 @@
|
||||
/* |
||||
* Copyright 2012-2014 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.springframework.boot.autoconfigure.data; |
||||
|
||||
import org.elasticsearch.client.Client; |
||||
import org.junit.After; |
||||
import org.junit.Test; |
||||
import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration; |
||||
import org.springframework.boot.autoconfigure.TestAutoConfigurationPackage; |
||||
import org.springframework.boot.autoconfigure.data.alt.elasticsearch.CityElasticsearchDbRepository; |
||||
import org.springframework.boot.autoconfigure.data.elasticsearch.City; |
||||
import org.springframework.boot.autoconfigure.data.elasticsearch.CityRepository; |
||||
import org.springframework.boot.autoconfigure.data.empty.EmptyDataPackage; |
||||
import org.springframework.boot.autoconfigure.elasticsearch.ElasticsearchAutoConfiguration; |
||||
import org.springframework.boot.autoconfigure.elasticsearch.ElasticsearchDataAutoConfiguration; |
||||
import org.springframework.context.annotation.AnnotationConfigApplicationContext; |
||||
import org.springframework.context.annotation.Configuration; |
||||
import org.springframework.data.elasticsearch.repository.config.EnableElasticsearchRepositories; |
||||
|
||||
import static org.junit.Assert.assertNotNull; |
||||
|
||||
/** |
||||
* Tests for {@link ElasticsearchRepositoriesAutoConfiguration}. |
||||
* |
||||
* @author Phillip Webb |
||||
*/ |
||||
public class ElasticsearchRepositoriesAutoConfigurationTests { |
||||
|
||||
private AnnotationConfigApplicationContext context; |
||||
|
||||
@After |
||||
public void close() { |
||||
this.context.close(); |
||||
} |
||||
|
||||
@Test |
||||
public void testDefaultRepositoryConfiguration() throws Exception { |
||||
this.context = new AnnotationConfigApplicationContext(); |
||||
this.context.register(TestConfiguration.class, |
||||
ElasticsearchAutoConfiguration.class, |
||||
ElasticsearchRepositoriesAutoConfiguration.class, |
||||
ElasticsearchDataAutoConfiguration.class, |
||||
PropertyPlaceholderAutoConfiguration.class); |
||||
this.context.refresh(); |
||||
assertNotNull(this.context.getBean(CityRepository.class)); |
||||
assertNotNull(this.context.getBean(Client.class)); |
||||
} |
||||
|
||||
@Test |
||||
public void testNoRepositoryConfiguration() throws Exception { |
||||
this.context = new AnnotationConfigApplicationContext(); |
||||
this.context.register(EmptyConfiguration.class, |
||||
ElasticsearchAutoConfiguration.class, |
||||
ElasticsearchRepositoriesAutoConfiguration.class, |
||||
ElasticsearchDataAutoConfiguration.class, |
||||
PropertyPlaceholderAutoConfiguration.class); |
||||
this.context.refresh(); |
||||
assertNotNull(this.context.getBean(Client.class)); |
||||
} |
||||
|
||||
@Test |
||||
public void doesNotTriggerDefaultRepositoryDetectionIfCustomized() { |
||||
this.context = new AnnotationConfigApplicationContext(); |
||||
this.context.register(CustomizedConfiguration.class, |
||||
ElasticsearchAutoConfiguration.class, |
||||
ElasticsearchRepositoriesAutoConfiguration.class, |
||||
ElasticsearchDataAutoConfiguration.class, |
||||
PropertyPlaceholderAutoConfiguration.class); |
||||
this.context.refresh(); |
||||
assertNotNull(this.context.getBean(CityElasticsearchDbRepository.class)); |
||||
} |
||||
|
||||
@Configuration |
||||
@TestAutoConfigurationPackage(City.class) |
||||
protected static class TestConfiguration { |
||||
|
||||
} |
||||
|
||||
@Configuration |
||||
@TestAutoConfigurationPackage(EmptyDataPackage.class) |
||||
protected static class EmptyConfiguration { |
||||
|
||||
} |
||||
|
||||
@Configuration |
||||
@TestAutoConfigurationPackage(ElasticsearchRepositoriesAutoConfigurationTests.class) |
||||
@EnableElasticsearchRepositories(basePackageClasses = CityElasticsearchDbRepository.class) |
||||
protected static class CustomizedConfiguration { |
||||
|
||||
} |
||||
} |
||||
@ -0,0 +1,24 @@
@@ -0,0 +1,24 @@
|
||||
/* |
||||
* Copyright 2012-2014 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.springframework.boot.autoconfigure.data.alt.elasticsearch; |
||||
|
||||
import org.springframework.boot.autoconfigure.data.elasticsearch.City; |
||||
import org.springframework.data.repository.Repository; |
||||
|
||||
public interface CityElasticsearchDbRepository extends Repository<City, Long> { |
||||
|
||||
} |
||||
@ -0,0 +1,24 @@
@@ -0,0 +1,24 @@
|
||||
/* |
||||
* Copyright 2012-2014 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.springframework.boot.autoconfigure.data.alt.jpa; |
||||
|
||||
import org.springframework.boot.autoconfigure.data.jpa.City; |
||||
import org.springframework.data.repository.Repository; |
||||
|
||||
public interface CityJpaRepository extends Repository<City, Long> { |
||||
|
||||
} |
||||
@ -0,0 +1,24 @@
@@ -0,0 +1,24 @@
|
||||
/* |
||||
* Copyright 2012-2014 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.springframework.boot.autoconfigure.data.alt.mongo; |
||||
|
||||
import org.springframework.boot.autoconfigure.data.mongo.City; |
||||
import org.springframework.data.repository.Repository; |
||||
|
||||
public interface CityMongoDbRepository extends Repository<City, Long> { |
||||
|
||||
} |
||||
@ -0,0 +1,24 @@
@@ -0,0 +1,24 @@
|
||||
/* |
||||
* Copyright 2012-2014 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.springframework.boot.autoconfigure.data.alt.solr; |
||||
|
||||
import org.springframework.boot.autoconfigure.data.solr.City; |
||||
import org.springframework.data.repository.Repository; |
||||
|
||||
public interface CitySolrRepository extends Repository<City, String> { |
||||
|
||||
} |
||||
@ -0,0 +1,69 @@
@@ -0,0 +1,69 @@
|
||||
/* |
||||
* Copyright 2012-2013 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.springframework.boot.autoconfigure.data.elasticsearch; |
||||
|
||||
import java.io.Serializable; |
||||
|
||||
import org.springframework.data.annotation.Id; |
||||
import org.springframework.data.elasticsearch.annotations.Document; |
||||
|
||||
@Document(indexName = "city", type = "city", shards = 1, replicas = 0, refreshInterval = "-1") |
||||
public class City implements Serializable { |
||||
|
||||
private static final long serialVersionUID = 1L; |
||||
|
||||
@Id |
||||
private Long id; |
||||
|
||||
private String name; |
||||
|
||||
private String state; |
||||
|
||||
private String country; |
||||
|
||||
private String map; |
||||
|
||||
protected City() { |
||||
} |
||||
|
||||
public City(String name, String country) { |
||||
super(); |
||||
this.name = name; |
||||
this.country = country; |
||||
} |
||||
|
||||
public String getName() { |
||||
return this.name; |
||||
} |
||||
|
||||
public String getState() { |
||||
return this.state; |
||||
} |
||||
|
||||
public String getCountry() { |
||||
return this.country; |
||||
} |
||||
|
||||
public String getMap() { |
||||
return this.map; |
||||
} |
||||
|
||||
@Override |
||||
public String toString() { |
||||
return getName() + "," + getState() + "," + getCountry(); |
||||
} |
||||
} |
||||
@ -0,0 +1,32 @@
@@ -0,0 +1,32 @@
|
||||
/* |
||||
* Copyright 2012-2013 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.springframework.boot.autoconfigure.data.elasticsearch; |
||||
|
||||
import org.springframework.data.domain.Page; |
||||
import org.springframework.data.domain.Pageable; |
||||
import org.springframework.data.repository.Repository; |
||||
|
||||
public interface CityRepository extends Repository<City, Long> { |
||||
|
||||
Page<City> findAll(Pageable pageable); |
||||
|
||||
Page<City> findByNameLikeAndCountryLikeAllIgnoringCase(String name, String country, |
||||
Pageable pageable); |
||||
|
||||
City findByNameAndCountryAllIgnoringCase(String name, String country); |
||||
|
||||
} |
||||
@ -0,0 +1,26 @@
@@ -0,0 +1,26 @@
|
||||
/* |
||||
* Copyright 2012-2014 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.springframework.boot.autoconfigure.data.empty; |
||||
|
||||
/** |
||||
* Empty package used with data tests. |
||||
* |
||||
* @author Phillip Webb |
||||
*/ |
||||
public class EmptyDataPackage { |
||||
|
||||
} |
||||
Loading…
Reference in new issue