Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Server Test #1

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,4 @@ hs_err_pid*
build/libs/
build/tmp/
/build/
/bin/
19 changes: 18 additions & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ apply plugin: 'application'
apply plugin: 'findbugs'
apply plugin: 'pmd'


sourceCompatibility = 1.8
targetCompatibility = 1.8

Expand All @@ -18,9 +19,17 @@ repositories {
buildscript {
repositories {
mavenCentral()

}
dependencies {
classpath 'com.github.rholder:gradle-one-jar:1.0.4'
classpath 'com.h2database:h2:1.3.176'
classpath 'io.dropwizard:dropwizard-core:0.8.2'
classpath 'io.dropwizard:dropwizard-hibernate:0.8.2'




}
}

Expand All @@ -29,9 +38,17 @@ task wrapper(type: Wrapper) {
}

dependencies {
compile 'io.dropwizard:dropwizard-core:0.9.2'

compile group: 'io.dropwizard', name: 'dropwizard-core', version: '0.8.2'

compile group: 'io.dropwizard', name: 'dropwizard-hibernate', version: '0.8.2'
compile 'org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final'
compile group: 'com.h2database', name: 'h2', version: '1.3.176'


}


sourceSets {
main {
java {
Expand Down
26 changes: 26 additions & 0 deletions gradle-app.setting
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>

<root>
<setting name="task-tab">
<setting name="show-description" value="true"/>
</setting>
<setting name="favorites-tab"/>
<setting name="command_line-tab"/>
<setting name="setup-tab">
<setting name="setup">
<setting name="custom-gradle-executor"/>
<setting name="current-directory" value="C:\Users\sridevi.valluri\Documents\GitHub\server-test"/>
<setting name="log-level" value="LIFECYCLE"/>
</setting>
</setting>
<setting name="main_panel">
<setting name="current-tab" value="Setup"/>
</setting>
<setting name="Application_window-id">
<setting name="window_x" value="128"/>
<setting name="window_y" value="128"/>
<setting name="window_width" value="800"/>
<setting name="window_height" value="800"/>
<setting name="extended-state" value="0"/>
</setting>
</root>
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#Fri Feb 05 11:02:12 CST 2016
#Sun Jun 26 23:30:10 CDT 2016
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
Expand Down
78 changes: 44 additions & 34 deletions src/java/server/MainApplication.java
Original file line number Diff line number Diff line change
@@ -1,57 +1,67 @@
package server;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import io.dropwizard.Application;
import io.dropwizard.db.DataSourceFactory;
import io.dropwizard.hibernate.HibernateBundle;
import io.dropwizard.setup.Bootstrap;
import io.dropwizard.setup.Environment;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import server.config.AppConfiguration;
import server.data.model.Movie;
import server.db.MovieDAO;
import server.healthcheck.AppHealthCheck;
import server.resources.TimeofDayResource;
import server.resources.MovieResource;

/**
* Main application
*/
public class MainApplication extends Application<AppConfiguration>
{
public class MainApplication extends Application<AppConfiguration> {
final static Logger logger = LoggerFactory.getLogger(MainApplication.class);

public static void main(String[] args) throws Exception {
new MainApplication().run(args);
}

@Override
public String getName() {
return "Test Server";
}

public static void main(String[] args) throws Exception
{
new MainApplication().run(args);
}
private final HibernateBundle<AppConfiguration> hibernateBundle = new HibernateBundle<AppConfiguration>(
Movie.class) {
@Override
public DataSourceFactory getDataSourceFactory(AppConfiguration configuration) {
return configuration.getDataSourceFactory();
}
};

@Override
public String getName()
{
return "Test Server";
}
@Override
public void initialize(Bootstrap<AppConfiguration> bootstrap) {

@Override
public void initialize(Bootstrap<AppConfiguration> bootstrap)
{
// framework bootstrap initialization
}
// framework bootstrap initialization
// Enable variable substitution with environment variables

@Override
public void run(AppConfiguration configuration, Environment environment) throws Exception
{
try
{
logger.info("Starting...");
bootstrap.addBundle(hibernateBundle);

// application initialization goes here
}
catch (Exception exc)
{
// log failure to set up app
logger.error("Failed to initialize application, exiting...", exc);
throw new RuntimeException();
}
}

@Override
public void run(AppConfiguration configuration, Environment environment) throws Exception {

logger.info("Starting...");

// application initialization goes here
final TimeofDayResource timeOfDayresource = new TimeofDayResource();

final MovieDAO movieDAO = new MovieDAO(hibernateBundle.getSessionFactory());
// register servlet route handlers
environment.jersey().register(timeOfDayresource);
environment.jersey().register(new MovieResource(movieDAO));
environment.healthChecks().register("app", new AppHealthCheck());

// register servlet route handlers
// environment.jersey().register(new YourServlet());
}
}
}
28 changes: 28 additions & 0 deletions src/java/server/api/TimeOfDay.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package server.api;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.base.MoreObjects;

public class TimeOfDay {

private String TimeAndDay;

public TimeOfDay() {
// Jackson deserialization
}

public TimeOfDay(String TimeAndDay) {

this.TimeAndDay = TimeAndDay;
}

@JsonProperty
public String getTimeAndDay() {
return TimeAndDay;
}

public void setTimeAndDay(String timeAndDay) {
TimeAndDay = timeAndDay;
}

}
25 changes: 25 additions & 0 deletions src/java/server/config/AppConfiguration.java
Original file line number Diff line number Diff line change
@@ -1,11 +1,36 @@
package server.config;

import io.dropwizard.Configuration;
import io.dropwizard.db.DataSourceFactory;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.collect.ImmutableMap;

import java.util.Collections;
import java.util.Map;

import javax.validation.Valid;
import javax.validation.constraints.NotNull;

/**
* Application Configuration
*/
public class AppConfiguration extends Configuration
{


@Valid
@NotNull
private DataSourceFactory database = new DataSourceFactory();

@JsonProperty("database")
public DataSourceFactory getDataSourceFactory() {
return database;
}

@JsonProperty("database")
public void setDataSourceFactory(DataSourceFactory dataSourceFactory) {
this.database = dataSourceFactory;
}


}
19 changes: 19 additions & 0 deletions src/java/server/config/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,22 @@ server:
- type: http
port: 8080



# Database settings.
database:

# the name of your JDBC driver
driverClass: org.h2.Driver

# the username
user: sa

# the JDBC URL
url: jdbc:h2:~/test

properties:
charSet: UTF-8
hibernate.dialect: org.hibernate.dialect.H2Dialect
hibernate.hbm2ddl.auto: validate

96 changes: 96 additions & 0 deletions src/java/server/data/model/Movie.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
/**
*
*/
package server.data.model;

/**
* @author sridevi.valluri
*
*/
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

import java.util.Objects;

@Entity
@Table(name = "movie")

public class Movie {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

@Column(name = "NAME", nullable = false)
private String name;

@Column(name = "GENRE", nullable = false)
private String genre;

@Column(name = "YEAR", nullable = false)
private String year;

@Column(name = "RATING", nullable = false)
private int rating;

public Movie() {
}

public Movie(String name, String genre, String year, int rating) {
this.name = name;
this.genre = genre;
this.year = year;
this.rating = rating;
}

public Long getId() {
return id;
}

public void setId(Long id) {
this.id = id;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getGenre() {
return genre;
}

public void setGenre(String genre) {
this.genre = genre;
}

public String getYear() {
return year;
}

public void setYear(String year) {
this.year = year;
}

public int getRating() {
return rating;
}

public void setRating(int rating) {
this.rating = rating;
}

@Override
public String toString() {
return "Movie [id=" + id + ", name=" + name + ", genre=" + genre + ", year=" + year + ", rating=" + rating
+ "]";
}

}
Empty file.
Empty file.
Loading