Update the toolkits for Java quick test during OA and code checking

This commit is contained in:
YuCheng Hu 2023-09-03 10:26:51 -04:00 committed by honeymoose
parent 080fd2df6d
commit bc597e93c2
10 changed files with 192 additions and 205 deletions

View File

@ -16,23 +16,18 @@
</parent> </parent>
<dependencies> <dependencies>
<!-- UTILS -->
<dependency> <dependency>
<groupId>org.apache.commons</groupId> <groupId>org.projectlombok</groupId>
<artifactId>commons-lang3</artifactId> <artifactId>lombok</artifactId>
<version>3.11</version> <version>${lombok.version}</version>
<scope>provided</scope>
</dependency> </dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.13</version>
</dependency>
<dependency> <dependency>
<groupId>joda-time</groupId> <groupId>joda-time</groupId>
<artifactId>joda-time</artifactId> <artifactId>joda-time</artifactId>
<version>2.10.10</version> <version>${joda-time.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>javax.persistence</groupId> <groupId>javax.persistence</groupId>
<artifactId>javax.persistence-api</artifactId> <artifactId>javax.persistence-api</artifactId>

View File

@ -1,97 +1,97 @@
package com.ossez.codebank.algorithm; package com.ossez.toolkits.codebank;
import java.util.Properties; import java.util.Properties;
import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser; import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.GnuParser; import org.apache.commons.cli.GnuParser;
import org.apache.commons.cli.Options; import org.apache.commons.cli.Options;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
/** /**
* Main Test Class * Main Test Class
* *
* @author YuCheng Hu * @author YuCheng Hu
*/ */
public class Main { public class Main {
private static final Logger logger = LoggerFactory.getLogger(Main.class); private static final Logger logger = LoggerFactory.getLogger(Main.class);
private static Options options = new Options(); private static Options options = new Options();
private static Properties properties = new Properties(); private static Properties properties = new Properties();
private static CommandLine cl = null; private static CommandLine cl = null;
private static boolean dryRun = false; private static boolean dryRun = false;
private static int limit = 0; private static int limit = 0;
private static boolean force = false; private static boolean force = false;
public static void main(String[] args) { public static void main(String[] args) {
// get the idx feed properties file // get the idx feed properties file
Main.parseProperties(); Main.parseProperties();
// load console options // load console options
Main.parseCommandLine(args); Main.parseCommandLine(args);
logger.debug("Starting feeds..."); logger.debug("Starting feeds...");
System.out.println("starting feeds..."); System.out.println("starting feeds...");
// execute the feeds // execute the feeds
Main.executeFeeds(); Main.executeFeeds();
} }
/** /**
* Executes the feeds specified in the feeds.properties file. * Executes the feeds specified in the feeds.properties file.
*/ */
private static void executeFeeds() { private static void executeFeeds() {
} }
/** /**
* Parses the properties file to get a list of all feeds. * Parses the properties file to get a list of all feeds.
*/ */
private static void parseProperties() { private static void parseProperties() {
try { try {
// load the properties file // load the properties file
logger.debug("Parsing properties"); logger.debug("Parsing properties");
Main.properties.load(Main.class.getClassLoader().getResourceAsStream("rets.properties")); Main.properties.load(Main.class.getClassLoader().getResourceAsStream("rets.properties"));
// load the feeds // load the feeds
} catch (Exception ex) { } catch (Exception ex) {
ex.printStackTrace(); ex.printStackTrace();
logger.error("Could not parse feed properties", ex); logger.error("Could not parse feed properties", ex);
} }
} }
/** /**
* Handles creation of console options. * Handles creation of console options.
*/ */
private static void parseCommandLine(String[] args) { private static void parseCommandLine(String[] args) {
// parse command line options // parse command line options
CommandLineParser parser = new GnuParser(); CommandLineParser parser = new GnuParser();
try { try {
Main.cl = parser.parse(Main.options, args); Main.cl = parser.parse(Main.options, args);
// get the dry run option // get the dry run option
Main.dryRun = Main.cl.hasOption("d"); Main.dryRun = Main.cl.hasOption("d");
logger.trace("Value of dryRun: " + dryRun); logger.trace("Value of dryRun: " + dryRun);
// get the limit option // get the limit option
// Main.limit = Utility.parseInt(Main.cl.getOptionValue("l", "0")); // Main.limit = Utility.parseInt(Main.cl.getOptionValue("l", "0"));
logger.trace("Value of limit: " + Main.limit); logger.trace("Value of limit: " + Main.limit);
// get the force option // get the force option
Main.force = Main.cl.hasOption("u"); Main.force = Main.cl.hasOption("u");
logger.trace("Value of force: " + Main.force); logger.trace("Value of force: " + Main.force);
} catch (Exception ex) { } catch (Exception ex) {
logger.error("An error ocurred parsing command line arguments", ex); logger.error("An error ocurred parsing command line arguments", ex);
} }
} }
} }

View File

@ -1,18 +1,18 @@
package com.ossez.codebank.algorithm.objplusclass; package com.ossez.toolkits.codebank.algorithm.objplusclass;
/** /**
* *
* @author YuCheng * @author YuCheng
* *
*/ */
public class CreateObject { public class CreateObject {
public CreateObject(String name) { public CreateObject(String name) {
// This constructor has one parameter, name // This constructor has one parameter, name
System.out.println("小狗的名字是: " + name); System.out.println("小狗的名字是: " + name);
} }
public static void main(String[] args) { public static void main(String[] args) {
// Following statement would create an object myPuppy // Following statement would create an object myPuppy
CreateObject myPuppy = new CreateObject("Tomcat"); CreateObject myPuppy = new CreateObject("Tomcat");
} }
} }

View File

@ -1,22 +1,22 @@
package com.ossez.codebank.algorithm.overview; package com.ossez.toolkits.codebank.algorithm.overview;
/** /**
* Java Tutorial * Java Tutorial
* *
* @author YuCheng * @author YuCheng
* *
*/ */
class FreshJuice { class FreshJuice {
enum FreshJuiceSize { enum FreshJuiceSize {
SMALL, MEDIUM, LARGE SMALL, MEDIUM, LARGE
} }
FreshJuiceSize size; FreshJuiceSize size;
} }
public class FreshJuiceEnums { public class FreshJuiceEnums {
public static void main(String[] args) { public static void main(String[] args) {
FreshJuice juice = new FreshJuice(); FreshJuice juice = new FreshJuice();
juice.size = FreshJuice.FreshJuiceSize.MEDIUM; juice.size = FreshJuice.FreshJuiceSize.MEDIUM;
} }
} }

View File

@ -1,16 +1,16 @@
package com.ossez.codebank.algorithm.overview; package com.ossez.toolkits.codebank.algorithm.overview;
/** /**
* Java Tutorial * Java Tutorial
* *
* This is my first java program. This will print 'Hello World' as the output This is an example of multi-line comments * This is my first java program. This will print 'Hello World' as the output This is an example of multi-line comments
* *
* @author YuCheng * @author YuCheng
* *
*/ */
public class HelloWorld { public class HelloWorld {
public static void main(String[] args) { public static void main(String[] args) {
System.out.println("Hello World"); System.out.println("Hello World");
} }
} }

View File

@ -1,36 +0,0 @@
package com.ossez.toolkits.codebank.tests;
import org.apache.commons.math3.util.FastMath;
import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
*
* @author YuCheng
*
*/
public class BitOperationTest {
private final static Logger logger = LoggerFactory.getLogger(BitOperationTest.class);
/**
* 35 https://www.lintcode.com/problem/reverse-linked-list/description
*/
@Test
public void testInt2Bit() {
logger.debug("BEGIN");
System.out.println(Integer.toBinaryString(5));
System.out.println(Integer.toBinaryString(2));
System.out.println(Integer.toBinaryString(2 << 2));
System.out.println(Integer.parseInt(Integer.toBinaryString(2 << 2), 2));
System.out.println(5 / 3);
System.out.println(5 % 3);
FastMath.pow(2, 3);
}
}

View File

@ -0,0 +1,31 @@
package com.ossez.toolkits.codebank.tests;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestInstance;
/**
* @author YuCheng
*/
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
@Slf4j
public class EmptyQuickTest {
@BeforeEach
protected void setUp() throws Exception {
}
@AfterEach
protected void tearDown() throws Exception {
}
@Test
public void testMain() {
log.info("TEST MAIN - BEGIN");
}
}

View File

@ -1,4 +1,4 @@
package com.ossez.codebank.algorithm.tests; package com.ossez.toolkits.codebank.tests.algorithm;
import junit.framework.TestCase; import junit.framework.TestCase;
import org.junit.Test; import org.junit.Test;

View File

@ -1,4 +1,4 @@
package com.ossez.codebank.algorithm.tests; package com.ossez.toolkits.codebank.tests.algorithm;
import org.junit.Test; import org.junit.Test;
import org.slf4j.Logger; import org.slf4j.Logger;

View File

@ -1,9 +1,6 @@
package com.ossez.toolkits.codebank.tests; package com.ossez.toolkits.codebank.tests.interview;
import com.google.api.gbase.client.NumberUnit;
import com.ibm.icu.impl.CharTrie;
import com.ossez.toolkits.codebank.common.model.request.TopicRequest; import com.ossez.toolkits.codebank.common.model.request.TopicRequest;
import org.apache.commons.lang3.CharUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.junit.Test; import org.junit.Test;
import org.slf4j.Logger; import org.slf4j.Logger;