class SocialNetworkRegions {
public static String createRegion(String username, String boardName, String regionName) {
if (boardName == null || regionName == null) {
return "Invalid Call to Function";
}
String bname = boardName.trim().toLowerCase();
if (boardName.equals("freeforall")) {
return "Invalid Call to Function";
}
//TODO any more region names that should be discouraged?
if (regionName.trim().equals("") || regionName.contains("..")
|| regionName.contains(";")
|| regionName.contains(" ")
|| regionName.trim().toLowerCase().equals("home")
|| regionName.trim().contains("/")) {
return "print Error: Cannot create a region with the name \"" + regionName
+"\". Please use a different name (One word, Case Insensitive).";
}
Connection dbconn = DBManager.getConnection();
Boolean boardExists = SocialNetworkDatabaseBoards.boardExists(dbconn, bname);
if (boardExists == null) {
return "print Error: Database error while verifying existence of board. " +
"If the problem persists, contact an admin.";
}
if (boardExists.booleanValue()) {
String msg = SocialNetworkDatabaseRegions.createRegion(dbconn, username,
bname, regionName.trim().toLowerCase());
DBManager.closeConnection(dbconn);
return msg;
}
else {
return "print Error: Encapsulating Board does not exist. Refresh. " +
"If the problem persists, contact an admin.";
}
}
}