diff --git a/app/build.gradle b/app/build.gradle
index 273d1ba..da87aed 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -20,3 +20,31 @@ android {
dependencies {
compile 'com.android.support:support-v4:23.3.0'
}
+/**
+ * When running in Travis, you may add custom environment variable GITHUB_OAUTH2TOKEN and do something like:
+ * ./gradlew violationCommentsToGitHub -DGITHUB_PULLREQUESTID=$TRAVIS_PULL_REQUEST -DGITHUB_OAUTH2TOKEN=$GITHUB_OAUTH2TOKEN
+ * Or define username/password variables:
+ * ./gradlew violationCommentsToGitHub -DGITHUB_PULLREQUESTID=$TRAVIS_PULL_REQUEST -DGITHUB_USERNAME=$GITHUB_USERNAME -DGITHUB_PASSWORD=$GITHUB_PASSWORD
+ */
+//apply plugin: "se.bjurr.violations.violation-comments-to-github-gradle-plugin"
+//task violationCommentsToGitHub(type: se.bjurr.violations.comments.github.plugin.gradle.ViolationCommentsToGitHubTask) {
+// repositoryOwner = "tomasbjerre";
+// repositoryName = "violations-test"
+// pullRequestId = System.properties['GITHUB_PULLREQUESTID']
+// username = System.properties['GITHUB_USERNAME']
+// password = System.properties['GITHUB_PASSWORD']
+// oAuth2Token = System.properties['GITHUB_OAUTH2TOKEN']
+// gitHubUrl = "https://api.github.com/"
+// createCommentWithAllSingleFileComments = true
+// createSingleFileComments = true
+// commentOnlyChangedContent = true
+// violations = [
+// ["FINDBUGS", ".", ".*/findbugs/.*\\.xml\$"],
+// ["PMD", ".", ".*/pmd/.*\\.xml\$"],
+// ["CHECKSTYLE", ".", ".*/checkstyle/.*\\.xml\$"],
+// ["JSHINT", ".", ".*/jshint/.*\\.xml\$"],
+// ["CSSLINT", ".", ".*/csslint/.*\\.xml\$"]
+// ]
+//}
+//sdasdsa
+//dsds
diff --git a/app/checkci.gradle b/app/checkci.gradle
index 21f1470..c94f117 100755
--- a/app/checkci.gradle
+++ b/app/checkci.gradle
@@ -32,6 +32,9 @@ task checkstyle(type: Checkstyle) {
reports {
xml.enabled = true
html.enabled = false
+ xml {
+ destination "${project.buildDir}/reports/checkstyle/checkstyle.xml"
+ }
}
}
@@ -81,7 +84,7 @@ task checkci {
description 'Run Check CI'
group 'checkci'
- println "Please check reports in http://ci-pro.framgia.vn"
+ //println "Please check reports in http://ci-pro.framgia.vn"
}
checkci.dependsOn 'checkstyle', 'findbugs', 'pmd', 'lint'
diff --git a/app/src/main/java/com/manhnv/validation/EmailVerifier.java b/app/src/main/java/com/manhnv/validation/EmailVerifier.java
index 33e8a84..edcf990 100644
--- a/app/src/main/java/com/manhnv/validation/EmailVerifier.java
+++ b/app/src/main/java/com/manhnv/validation/EmailVerifier.java
@@ -1,43 +1,51 @@
package com.manhnv.validation;
+import android.text.TextUtils;
+import android.widget.TextView;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import android.widget.TextView;
-
public class EmailVerifier extends RequiredVerifier {
+ private String mEmailPattern;
+ private Pattern pattern;
+ private Matcher matcher;
+ private static final String EMAIL_PATTERN =
+ "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";
+
public EmailVerifier(TextView field, String filedName) {
super(field, filedName);
- setMessage(ERROR_CODE_EMAIL, " is not valide");
+ setMessage(ERROR_CODE_EMAIL, " is not validate");
pattern = Pattern.compile(EMAIL_PATTERN);
}
@Override
public boolean verify() {
String email = getText();
- boolean isValide = super.verify();
- if (!isValide)
- return isValide;
- else if (!validate(email)) {
- // else if(!RegularExpressionUtils.isEmail(email)) {
- isValide = false;
+ boolean isValidate = super.verify();
+ if (!isValidate) {
+ return isValidate;
+ } else if (!validate(email)) {
+ isValidate = false;
setErrorCode(ERROR_CODE_EMAIL);
} else {
- isValide = true;
+ isValidate = true;
setErrorCode(SUCCESS_CODE);
}
- return isValide;
+ return isValidate;
+ }
+
+ public void setEmailPattern(String emailPattern) {
+ if (TextUtils.isEmpty(emailPattern)) {
+ return;
+ }
+ mEmailPattern = emailPattern;
+ pattern = Pattern.compile(emailPattern);
}
- private Pattern pattern;
- private Matcher matcher;
- private static final String EMAIL_PATTERN =
- "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";
/**
* Validate hex with regular expression
- *
- * @param hex
- * hex for validation
+ *
+ * @param hex hex for validation
* @return true valid hex, false invalid hex
*/
private boolean validate(String hex) {
diff --git a/app/src/main/java/com/manhnv/validation/IVerifier.java b/app/src/main/java/com/manhnv/validation/IVerifier.java
index 761a51a..dae1969 100644
--- a/app/src/main/java/com/manhnv/validation/IVerifier.java
+++ b/app/src/main/java/com/manhnv/validation/IVerifier.java
@@ -1,69 +1,66 @@
package com.manhnv.validation;
public interface IVerifier {
- public static final int SUCCESS_CODE = -1;
- public static final int ERROR_CODE_REQUIRED = 0;
- public static final int ERROR_CODE_MIN = 1;
- public static final int ERROR_CODE_MAX = 2;
- public static final int ERROR_CODE_EMAIL = 3;
- public static final int ERROR_CODE_NUMBER = 4;
- public static final int ERROR_CODE_FUTURE = 5;
- public static final int ERROR_CODE_FROM_DATE = 6;
- public static final int ERROR_CODE_TO_DATE = 7;
+ int SUCCESS_CODE = -1;
+ int ERROR_CODE_REQUIRED = 0;
+ int ERROR_CODE_MIN = 1;
+ int ERROR_CODE_MAX = 2;
+ int ERROR_CODE_EMAIL = 3;
+ int ERROR_CODE_NUMBER = 4;
+ int ERROR_CODE_FUTURE = 5;
+ int ERROR_CODE_FROM_DATE = 6;
+ int ERROR_CODE_TO_DATE = 7;
/**
* do validate action in here
- *
+ *
* @return true: validated success
- * false: validated fail
+ * false: validated fail
*/
boolean verify();
/**
* error message will be show on
- * {@linkplain #android.widget.TextView.setError(CharSequence error)}
- *
+ *
* @return if user define his message {@link #setErrorMessage(String)} -> show this message
- * if not show default message field name + message
+ * if not show default message field name + message
+ * @see android.widget.EditText#setError(CharSequence)
*/
String getErrorMessage();
/**
* using to show error message and you can know what field is invalid
- *
+ *
* @return field name (pass in constructor by user)
*/
String getFieldName();
/**
* belong to type of verifier: email, phone, blank ...
- *
- * @param error
+ *
* @return String fit with error code
*/
String getErrorMessage(int error);
/**
* belong to type of verifier: email, phone, blank ...
- *
+ *
* @return code of error
*/
int getErrorCode();
/**
- * {@linkplain #android.widget.TextView.setError(CharSequence error)}
+ * @see android.widget.EditText#setError(CharSequence)
*/
void showError();
/**
- * {@linkplain #android.widget.TextView.setError(CharSequence error)} setError(null)
+ * @see android.widget.EditText#setError(CharSequence)
*/
void hideError();
/**
* user defined his message
- *
- * @param message
*/
void setErrorMessage(String message);
}
\ No newline at end of file
diff --git a/app/src/main/java/com/manhnv/validation/RequiredVerifier.java b/app/src/main/java/com/manhnv/validation/RequiredVerifier.java
index f3b9f74..7cd14af 100644
--- a/app/src/main/java/com/manhnv/validation/RequiredVerifier.java
+++ b/app/src/main/java/com/manhnv/validation/RequiredVerifier.java
@@ -1,10 +1,9 @@
package com.manhnv.validation;
-import java.util.HashMap;
-import java.util.Map;
-
import android.text.TextUtils;
import android.widget.TextView;
+import java.util.HashMap;
+import java.util.Map;
public class RequiredVerifier implements IVerifier {
private TextView field;
@@ -29,9 +28,9 @@ public boolean verify() {
setErrorCode(SUCCESS_CODE);
return true;
}
- boolean isValidate = getText().toString().trim().length() != 0;
+ boolean isValidate = !TextUtils.isEmpty(getText().toString().trim());
if (!isValidate) {
- errorCode = ERROR_CODE_REQUIRED;
+ setErrorCode(ERROR_CODE_REQUIRED);
} else {
setErrorCode(SUCCESS_CODE);
}
@@ -41,7 +40,7 @@ public boolean verify() {
@Override
public String getErrorMessage() {
return !TextUtils.isEmpty(userDefinedMessage) ? userDefinedMessage
- : getErrorMessage(getErrorCode());
+ : getErrorMessage(getErrorCode());
}
public String getErrorMessage(int error) {
diff --git a/app/src/main/java/com/manhnv/validation/VerifierBuilder.java b/app/src/main/java/com/manhnv/validation/VerifierBuilder.java
index 174ad1d..6fe1858 100644
--- a/app/src/main/java/com/manhnv/validation/VerifierBuilder.java
+++ b/app/src/main/java/com/manhnv/validation/VerifierBuilder.java
@@ -5,7 +5,7 @@
public class VerifierBuilder {
List verifiers;
- IVerifier inValide;
+ IVerifier inValid;
public VerifierBuilder() {
verifiers = new ArrayList();
@@ -35,11 +35,11 @@ public boolean verify() {
verifier.hideError();
if (!verifier.verify()) {
verifier.showError();
- inValide = verifier;
+ inValid = verifier;
return false;
}
}
- inValide = null;
+ inValid = null;
return true;
}
@@ -49,9 +49,9 @@ public boolean verify() {
* @return error message
*/
public String getErrorMessage() {
- if (inValide == null)
+ if (inValid == null)
return null;
- return inValide.getErrorMessage();
+ return inValid.getErrorMessage();
}
/**
@@ -60,8 +60,8 @@ public String getErrorMessage() {
* @return code
*/
public int getErrorCode() {
- if (inValide == null)
+ if (inValid == null)
return -1;
- return inValide.getErrorCode();
+ return inValid.getErrorCode();
}
}
diff --git a/app/src/main/java/com/manhnv/validation/sample/VerifyActivity.java b/app/src/main/java/com/manhnv/validation/sample/VerifyActivity.java
index 2f269f1..a3a4945 100644
--- a/app/src/main/java/com/manhnv/validation/sample/VerifyActivity.java
+++ b/app/src/main/java/com/manhnv/validation/sample/VerifyActivity.java
@@ -53,5 +53,6 @@ protected void onCreate(Bundle savedInstanceState) {
private void doContinue() {
Toast.makeText(this, "Verified!", Toast.LENGTH_SHORT).show();
+ Toast.makeText(this, "Success", Toast.LENGTH_SHORT).show();
}
}
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index aa14138..674064b 100644
--- a/build.gradle
+++ b/build.gradle
@@ -4,12 +4,16 @@ buildscript {
jcenter()
}
dependencies {
- classpath 'com.android.tools.build:gradle:2.1.2'
+ classpath 'com.android.tools.build:gradle:2.2.2'
+// classpath "se.bjurr.violations:violation-comments-to-github-gradle-plugin:1.11-SNAPSHOT"
}
}
allprojects {
repositories {
jcenter()
+ maven {
+ url "https://plugins.gradle.org/m2/"
+ }
}
}
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 122a0dc..312f217 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Mon Dec 28 10:00:20 PST 2015
+#Mon Aug 29 14:22:56 ICT 2016
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
diff --git a/test.json b/test.json
new file mode 100644
index 0000000..42b7dbe
--- /dev/null
+++ b/test.json
@@ -0,0 +1 @@
+{"a":"123", "b":2}
\ No newline at end of file