Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
C
CTF
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Grzegorz
CTF
Commits
38b777bd
Commit
38b777bd
authored
Feb 20, 2016
by
Grzegorz Pietrusza
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
first try to implement injections
parent
bf060488
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
91 additions
and
27 deletions
+91
-27
Maven__com_google_inject_guice_4_0.xml
.idea/libraries/Maven__com_google_inject_guice_4_0.xml
+13
-0
pom.xml
service/pom.xml
+19
-0
service.iml
service/service.iml
+1
-0
CTFApplication.java
service/src/main/java/CTFApplication.java
+26
-27
UsersResource.java
service/src/main/java/api/UsersResource.java
+32
-0
No files found.
.idea/libraries/Maven__com_google_inject_guice_4_0.xml
0 → 100644
View file @
38b777bd
<component
name=
"libraryTable"
>
<library
name=
"Maven: com.google.inject:guice:4.0"
>
<CLASSES>
<root
url=
"jar://$MAVEN_REPOSITORY$/com/google/inject/guice/4.0/guice-4.0.jar!/"
/>
</CLASSES>
<JAVADOC>
<root
url=
"jar://$MAVEN_REPOSITORY$/com/google/inject/guice/4.0/guice-4.0-javadoc.jar!/"
/>
</JAVADOC>
<SOURCES>
<root
url=
"jar://$MAVEN_REPOSITORY$/com/google/inject/guice/4.0/guice-4.0-sources.jar!/"
/>
</SOURCES>
</library>
</component>
\ No newline at end of file
service/pom.xml
View file @
38b777bd
...
...
@@ -26,5 +26,24 @@
<artifactId>
dropwizard-core
</artifactId>
<version>
0.9.0
</version>
</dependency>
<dependency>
<groupId>
com.google.inject
</groupId>
<artifactId>
guice
</artifactId>
<version>
4.0
</version>
<exclusions>
<exclusion>
<artifactId>
guava
</artifactId>
<groupId>
com.google.guava
</groupId>
</exclusion>
<exclusion>
<groupId>
javax.inject
</groupId>
<artifactId>
javax.inject
</artifactId>
</exclusion>
<exclusion>
<groupId>
aopalliance
</groupId>
<artifactId>
aopalliance
</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</project>
\ No newline at end of file
service/service.iml
View file @
38b777bd
...
...
@@ -91,5 +91,6 @@
<orderEntry
type=
"library"
name=
"Maven: io.dropwizard.metrics:metrics-healthchecks:3.1.2"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: net.sourceforge.argparse4j:argparse4j:0.6.0"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.eclipse.jetty.toolchain.setuid:jetty-setuid-java:1.0.3"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.google.inject:guice:4.0"
level=
"project"
/>
</component>
</module>
\ No newline at end of file
service/src/main/java/CTFApplication.java
View file @
38b777bd
import
Repository.UsersRepository
;
import
api.ExampleResource
;
import
com.google.common.collect.Lists
;
import
com.mongodb.*
;
import
com.mongodb.client.FindIterable
;
import
com.mongodb.client.MongoCollection
;
import
com.mongodb.client.MongoDatabase
;
import
com.mongodb.client.MongoIterable
;
import
api.UsersResource
;
import
com.google.inject.AbstractModule
;
import
com.google.inject.Guice
;
import
com.google.inject.Injector
;
import
database.MongoDBConnector
;
import
database.MongoDatabaseConnector
;
import
io.dropwizard.Application
;
import
io.dropwizard.setup.Environment
;
import
objects.Fruit
;
import
objects.User
;
import
org.bson.Document
;
import
org.mongolink.MongoSession
;
import
persistence.MongoRepositories
;
import
repositories.Repositories
;
import
stub.MongoConfiguration
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
java.util.stream.Stream
;
import
java.util.Random
;
import
java.util.UUID
;
/**
* Created by gpietrus on 16.02.16.
*/
public
class
CTFApplication
extends
Application
<
ApplicationConfiguration
>
{
@Override
public
void
run
(
ApplicationConfiguration
applicationConfiguration
,
Environment
environment
)
throws
Exception
{
// environment.jersey().register(ExampleResource.class);
// MongoDatabaseConnector mongoDatabaseConnector = new MongoDatabaseConnector();
// FindIterable<Document> users = mongoDatabaseConnector.getUsers();
}
public
static
void
main
(
String
[]
args
)
throws
Exception
{
//todo: add mongo-java-driver as maven dep
MongoDBConnector
mongoDBConnector
=
new
MongoDBConnector
();
mongoDBConnector
.
connect
();
...
...
@@ -44,13 +26,30 @@ public class CTFApplication extends Application<ApplicationConfiguration> {
usersRepository
.
clean
();
//todo
int
numberOfNewUsers
=
new
Random
().
nextInt
(
50
);
for
(
int
i
=
0
;
i
<
numberOfNewUsers
;
i
++)
{
for
(
int
i
=
0
;
i
<
numberOfNewUsers
;
i
++)
{
User
user
=
new
User
(
String
.
valueOf
(
UUID
.
randomUUID
()),
"mehow"
);
usersRepository
.
add
(
user
);
}
List
<
Object
>
all
=
usersRepository
.
getAll
(
);
// Injector injector = createInjector(usersRepository
);
// final LifecycleEnvironment lifecycleEnvironment = environment.lifecycle();
//
// lifecycleEnvironment.manage((Managed) );
environment
.
jersey
().
register
(
UsersResource
.
class
);
}
private
Injector
createInjector
(
UsersRepository
usersRepository
)
{
return
Guice
.
createInjector
(
new
AbstractModule
()
{
@Override
protected
void
configure
()
{
bind
(
UsersRepository
.
class
).
toInstance
(
usersRepository
);
}
});
}
public
static
void
main
(
String
[]
args
)
throws
Exception
{
//todo: add mongo-java-driver as maven dep
new
CTFApplication
().
run
(
args
);
}
}
service/src/main/java/api/
Example
Resource.java
→
service/src/main/java/api/
Users
Resource.java
View file @
38b777bd
package
api
;
import
database.MongoDatabaseConnector
;
import
Repository.UsersRepository
;
import
javax.inject.Inject
;
import
javax.ws.rs.GET
;
import
javax.ws.rs.Path
;
import
javax.ws.rs.Produces
;
import
javax.ws.rs.core.MediaType
;
import
java.util.List
;
/**
* Created by gpietrus on 16.02.16.
*/
@Path
(
value
=
"/
hello
"
)
@Path
(
value
=
"/
users
"
)
@Produces
(
MediaType
.
APPLICATION_JSON
)
public
class
Example
Resource
public
class
Users
Resource
{
private
UsersRepository
usersRepository
;
//todo: use injections
// @GET
// public String sayHello(
) {
// return "hello"
;
//
}
@Inject
public
UsersResource
(
UsersRepository
usersRepository
)
{
this
.
usersRepository
=
usersRepository
;
}
@GET
public
com
.
mongodb
.
client
.
FindIterable
<
org
.
bson
.
Documen
t
>
getUsers
()
{
return
new
MongoDatabaseConnector
().
getUsers
();
public
List
<
Objec
t
>
getUsers
()
{
return
usersRepository
.
getAll
();
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment