{"id":15946393,"url":"https://github.com/mike10004/common-helper","last_synced_at":"2026-01-18T22:01:20.020Z","repository":{"id":33241610,"uuid":"36885946","full_name":"mike10004/common-helper","owner":"mike10004","description":"Libraries that help with some common computing tasks in Java","archived":false,"fork":false,"pushed_at":"2022-06-21T00:47:28.000Z","size":1025,"stargazers_count":0,"open_issues_count":9,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-21T12:12:13.411Z","etag":null,"topics":["java","ormlite"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mike10004.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-06-04T17:41:56.000Z","updated_at":"2019-09-20T22:44:01.000Z","dependencies_parsed_at":"2022-08-17T22:45:26.787Z","dependency_job_id":null,"html_url":"https://github.com/mike10004/common-helper","commit_stats":null,"previous_names":["mike10004/ormlite-helper"],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/mike10004/common-helper","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mike10004%2Fcommon-helper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mike10004%2Fcommon-helper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mike10004%2Fcommon-helper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mike10004%2Fcommon-helper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mike10004","download_url":"https://codeload.github.com/mike10004/common-helper/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mike10004%2Fcommon-helper/sbom","scorecard":{"id":645080,"data":{"date":"2025-08-11","repo":{"name":"github.com/mike10004/common-helper","commit":"4f7d62ad51fd7853f7f5817667d276c999236246"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":1.7,"checks":[{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":0,"reason":"10 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-5mg8-w23w-74h3","Warn: Project is vulnerable to: GHSA-7g45-4rm6-3mm3","Warn: Project is vulnerable to: GHSA-mvr2-9pj6-7w5j","Warn: Project is vulnerable to: GHSA-7r82-7xv7-xcpj","Warn: Project is vulnerable to: GHSA-45hx-wfhj-473x","Warn: Project is vulnerable to: GHSA-h376-j262-vhq6","Warn: Project is vulnerable to: GHSA-78wr-2p64-hpwj","Warn: Project is vulnerable to: GHSA-gwrp-pvrq-jmwv","Warn: Project is vulnerable to: GHSA-269g-pwp5-87pp","Warn: Project is vulnerable to: GHSA-j288-q9x7-2f5v"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-21T11:56:53.799Z","repository_id":33241610,"created_at":"2025-08-21T11:56:53.800Z","updated_at":"2025-08-21T11:56:53.800Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28552115,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T20:59:07.572Z","status":"ssl_error","status_checked_at":"2026-01-18T20:59:02.799Z","response_time":98,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","ormlite"],"created_at":"2024-10-07T09:21:32.079Z","updated_at":"2026-01-18T22:01:19.999Z","avatar_url":"https://github.com/mike10004.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Travis build status](https://img.shields.io/travis/mike10004/common-helper.svg)](https://travis-ci.org/mike10004/common-helper)\n[![AppVeyor status](https://ci.appveyor.com/api/projects/status/sklwcp67bi3lpp05?svg=true)](https://ci.appveyor.com/project/mike10004/common-helper)\n[![Maven Central](https://img.shields.io/maven-central/v/com.github.mike10004/common-helper.svg)](https://repo1.maven.org/maven2/com/github/mike10004/common-helper/)\n\nCommon Helper Libraries\n=======================\n\nLibraries that help with some common computing tasks in Java. They are:\n\n* imnetio-helper: imaging, networking, and I/O\n* ormlite-helper and ormlite-helper-testtools: help with ORMLite and \n  database unit/integration testing\n* native-helper: help with platform-dependent tasks like subprocesses \n  and platform-specific filesystem conventions\n\n## Imaging, Networking, and I/O\n\n### Imaging\n\nWant to get an image's dimensions without buffering all the pixels?\n\n    Dimension dim = ImageInfos.readImageSize(imageBytes);\n    System.out.format(\"%d x %d\", dim.width, dim.height);\n\n### Networking \n\nWant to download something but handle various error conditions (unknown host, 404) \nthe same way? Don't try \n[java.net.URLConnection](http://docs.oracle.com/javase/7/docs/api/java/net/URLConnection.html), \nwhere you'll get the unknown host exception on `URL.openConnection()`, or if \nyou make it past that, have to catch an I/O exception on 4xx and 5xx errors and \nread from the error stream. Just do this instead:\n\n    HttpRequester requester = HttpRequests.newRequester();\n    ResponseData responseData = requester.retrieve(\"http://example.com\");\n    System.out.println(\"HTTP response \" + responseData.code);\n    System.out.println(new String(responseData.data));\n\n### I/O\n\nWant to read from the first good input stream out of multiple potentially \nbroken streams?\n\n    ByteSource first = ByteSources.broken();\n    byte[] bytes = { (byte) 1, (byte) 2, (byte) 3, (byte) 4};\n    ByteSource other = ByteSource.wrap(bytes);\n    ByteSource result = ByteSources.or(first, other);\n    System.out.println(Arrays.toString(result.toByteArray())); // [1, 2, 3, 4]\n\n## ORMLite helper\n\nDoing some quick database work? This might help you:\n\n    DatabaseContext db = new DefaultDatabaseContext(new H2MemoryConnectionSource());\n    try {\n        db.getTableUtils().createTable(Customer.class);\n        Customer customer = new Customer(\"Jane Doe\", 123);\n        db.getDao(Customer.class).create(customer);\n    } finally {\n        db.closeConnections(false); // 'true' to swallow exception on close\n    }\n\n## Native\n\nWant the pathname of the directory where system configuration files are?\n\n    File dir = Platforms.getPlatform().getSystemConfigDir();\n    System.out.println(dir); \n\n...prints `/etc` on Linux and value of `%ProgramData%` environment variable on \nWindows.\n\nWant to launch a subprocess and capture the output as strings?\n\n    // \u003cString, String\u003e parameters refer to type of captured stdout and stderr data\n    ProcessResult\u003cString, String\u003e result;\n    try (ScopedProcessTracker processTracker = new ScopedProcessTracker()) {\n        result = Subprocess.running(\"echo\")\n                .arg(\"hello, world\")\n                .build()\n                .launcher(processTracker)\n                .outputStrings(Charset.defaultCharset())\n                .launch()\n                .await();\n    }\n    System.out.println(result.content().stdout()); // prints \"hello, world\"\n\n# How do I build it?\n\n## Prerequisites\n\nThe build system must have Maven 3.0+ installed. On Windows, you must have Perl\ninstalled and `perl.exe` on the system path. Visit \n[strawberryperl.com](http://strawberryperl.com) for free Perl.\n\nOn Linux, make sure the **libaio1** (Linux kernel asynchronous I/O access \nlibrary) package is installed, or else the MySQL integration tests will fail.\n\nThe MySQL distribution dependency is platform-dependent and Maven central may \nnot host an artifact corresponding to your platform. If that is the case, you\ncan download a [MySQL](http://www.mysql.com) tarball release, re-package it \ninto a zip file, and install it to your local repository. For example:\n\n    $ mvn install:install-file -DartifactId=mysql-dist -DgroupId=com.jcabi \\\n        -Dversion=5.5.41 -Dclassifier=myoperatingsystem-amd64 -Dpackaging=zip \\\n        -Dfile=/path/to/downloaded/mysql-dist-5.5.41-myoperatingsystem-amd64.zip\n\nAdd a profile to your `$HOME/.m2/settings.xml` that only gets activated when your\nplatform is detected.\n\n## Build\n\nExecute\n\n    $ mvn install\n\nin the parent project directory.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmike10004%2Fcommon-helper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmike10004%2Fcommon-helper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmike10004%2Fcommon-helper/lists"}