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
Hide 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 @@
...
@@ -26,5 +26,24 @@
<artifactId>
dropwizard-core
</artifactId>
<artifactId>
dropwizard-core
</artifactId>
<version>
0.9.0
</version>
<version>
0.9.0
</version>
</dependency>
</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>
</dependencies>
</project>
</project>
\ No newline at end of file
service/service.iml
View file @
38b777bd
...
@@ -91,5 +91,6 @@
...
@@ -91,5 +91,6 @@
<orderEntry
type=
"library"
name=
"Maven: io.dropwizard.metrics:metrics-healthchecks:3.1.2"
level=
"project"
/>
<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: 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: 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>
</component>
</module>
</module>
\ No newline at end of file
service/src/main/java/CTFApplication.java
View file @
38b777bd
import
Repository.UsersRepository
;
import
Repository.UsersRepository
;
import
api.ExampleResource
;
import
api.UsersResource
;
import
com.google.common.collect.Lists
;
import
com.google.inject.AbstractModule
;
import
com.mongodb.*
;
import
com.google.inject.Guice
;
import
com.mongodb.client.FindIterable
;
import
com.google.inject.Injector
;
import
com.mongodb.client.MongoCollection
;
import
com.mongodb.client.MongoDatabase
;
import
com.mongodb.client.MongoIterable
;
import
database.MongoDBConnector
;
import
database.MongoDBConnector
;
import
database.MongoDatabaseConnector
;
import
io.dropwizard.Application
;
import
io.dropwizard.Application
;
import
io.dropwizard.setup.Environment
;
import
io.dropwizard.setup.Environment
;
import
objects.Fruit
;
import
objects.User
;
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.Random
;
import
java.util.stream.Collectors
;
import
java.util.UUID
;
import
java.util.stream.Stream
;
/**
/**
* Created by gpietrus on 16.02.16.
* Created by gpietrus on 16.02.16.
*/
*/
public
class
CTFApplication
extends
Application
<
ApplicationConfiguration
>
{
public
class
CTFApplication
extends
Application
<
ApplicationConfiguration
>
{
@Override
@Override
public
void
run
(
ApplicationConfiguration
applicationConfiguration
,
Environment
environment
)
throws
Exception
{
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
mongoDBConnector
=
new
MongoDBConnector
();
mongoDBConnector
.
connect
();
mongoDBConnector
.
connect
();
...
@@ -44,13 +26,30 @@ public class CTFApplication extends Application<ApplicationConfiguration> {
...
@@ -44,13 +26,30 @@ public class CTFApplication extends Application<ApplicationConfiguration> {
usersRepository
.
clean
();
//todo
usersRepository
.
clean
();
//todo
int
numberOfNewUsers
=
new
Random
().
nextInt
(
50
);
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"
);
User
user
=
new
User
(
String
.
valueOf
(
UUID
.
randomUUID
()),
"mehow"
);
usersRepository
.
add
(
user
);
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
;
package
api
;
import
database.MongoDatabaseConnector
;
import
Repository.UsersRepository
;
import
javax.inject.Inject
;
import
javax.ws.rs.GET
;
import
javax.ws.rs.GET
;
import
javax.ws.rs.Path
;
import
javax.ws.rs.Path
;
import
javax.ws.rs.Produces
;
import
javax.ws.rs.Produces
;
import
javax.ws.rs.core.MediaType
;
import
javax.ws.rs.core.MediaType
;
import
java.util.List
;
/**
/**
* Created by gpietrus on 16.02.16.
* Created by gpietrus on 16.02.16.
*/
*/
@Path
(
value
=
"/
hello
"
)
@Path
(
value
=
"/
users
"
)
@Produces
(
MediaType
.
APPLICATION_JSON
)
@Produces
(
MediaType
.
APPLICATION_JSON
)
public
class
Example
Resource
public
class
Users
Resource
{
{
private
UsersRepository
usersRepository
;
//todo: use injections
// @GET
@Inject
// public String sayHello(
) {
public
UsersResource
(
UsersRepository
usersRepository
)
{
// return "hello"
;
this
.
usersRepository
=
usersRepository
;
//
}
}
@GET
@GET
public
com
.
mongodb
.
client
.
FindIterable
<
org
.
bson
.
Documen
t
>
getUsers
()
{
public
List
<
Objec
t
>
getUsers
()
{
return
new
MongoDatabaseConnector
().
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