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