Commit ff88aefd authored by AreejMh57's avatar AreejMh57

Initial commit

parent 6cb5b187
......@@ -8,7 +8,7 @@
</list>
</option>
</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" />
</component>
</project>
\ No newline at end of file
......@@ -12,7 +12,7 @@ import java.util.Random;
public class MoviesGenerator {
//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 COLLECTION_NAME = "movies";
......@@ -21,6 +21,7 @@ public class MoviesGenerator {
public static void main(String[] args) {
MongoDatabase onlineSchoolDb = connectToMongoDB(MONGO_DB_URL, DB_NAME);
generateMovies(10000, onlineSchoolDb, COLLECTION_NAME);
generateUsers(10000, onlineSchoolDb);
}
private static MongoDatabase connectToMongoDB(String url, String dbName) {
......@@ -93,4 +94,27 @@ public class MoviesGenerator {
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