Commit ff88aefd authored by AreejMh57's avatar AreejMh57

Initial commit

parent 6cb5b187
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
</list> </list>
</option> </option>
</component> </component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" project-jdk-name="11" project-jdk-type="JavaSDK"> <component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="17" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" /> <output url="file://$PROJECT_DIR$/out" />
</component> </component>
</project> </project>
\ No newline at end of file
...@@ -12,7 +12,7 @@ import java.util.Random; ...@@ -12,7 +12,7 @@ import java.util.Random;
public class MoviesGenerator { public class MoviesGenerator {
//router address //router address
private static final String MONGO_DB_URL = "mongodb://172.29.3.101:27033/"; private static final String MONGO_DB_URL = "mongodb://192.168.144.132:27033/";
private static final String DB_NAME = "videodb"; private static final String DB_NAME = "videodb";
private static final String COLLECTION_NAME = "movies"; private static final String COLLECTION_NAME = "movies";
...@@ -21,6 +21,7 @@ public class MoviesGenerator { ...@@ -21,6 +21,7 @@ public class MoviesGenerator {
public static void main(String[] args) { public static void main(String[] args) {
MongoDatabase onlineSchoolDb = connectToMongoDB(MONGO_DB_URL, DB_NAME); MongoDatabase onlineSchoolDb = connectToMongoDB(MONGO_DB_URL, DB_NAME);
generateMovies(10000, onlineSchoolDb, COLLECTION_NAME); generateMovies(10000, onlineSchoolDb, COLLECTION_NAME);
generateUsers(10000, onlineSchoolDb);
} }
private static MongoDatabase connectToMongoDB(String url, String dbName) { private static MongoDatabase connectToMongoDB(String url, String dbName) {
...@@ -93,4 +94,27 @@ public class MoviesGenerator { ...@@ -93,4 +94,27 @@ public class MoviesGenerator {
return name.toString(); return name.toString();
} }
private static void generateUsers(int numberOfUsers, MongoDatabase database) {
MongoCollection<Document> collection = database.getCollection("users");
List<Document> userDocs = new ArrayList<>();
String[] sampleMovies = {"Inside out", "Aladdin", "The Lion King", "Matrix", "Inception"};
for (int i = 0; i < numberOfUsers; i++) {
Document user = new Document()
.append("user_name", "User_" + RandomStringUtils.randomAlphabetic(5))
.append("watched_movies", List.of(
sampleMovies[random.nextInt(sampleMovies.length)],
sampleMovies[random.nextInt(sampleMovies.length)]
))
.append("subscription_month", random.nextInt(12) + 1);
userDocs.add(user);
if (i % 1000 == 0) {
collection.insertMany(userDocs);
userDocs.clear();
}
}
System.out.println("Finished generating users with Hashed Sharding.");
}
} }
# Root logger option
log4j.rootLogger=ERROR, stdout
# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{HH:mm:ss} %-5p %c{1}:%L - %m%n
artifactId=insert-many-movies
groupId=distributed.systems
version=1.0-SNAPSHOT
C:\Users\J.N\IdeaProjects\movies-generator-mongodb\src\main\java\MoviesGenerator.java
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment