{"id":22477483,"url":"https://github.com/orienteerbap/wicket-orientdb","last_synced_at":"2025-12-18T06:02:31.842Z","repository":{"id":17942969,"uuid":"20922747","full_name":"OrienteerBAP/wicket-orientdb","owner":"OrienteerBAP","description":"Everything you need to work with Apache Wicket and OrientDB","archived":false,"fork":false,"pushed_at":"2024-02-06T05:00:55.000Z","size":1043,"stargazers_count":33,"open_issues_count":12,"forks_count":18,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-12-01T01:48:24.302Z","etag":null,"topics":["java","orientdb","orienteer","wicket"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OrienteerBAP.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2014-06-17T12:41:03.000Z","updated_at":"2024-02-06T04:56:51.000Z","dependencies_parsed_at":"2024-01-14T06:23:53.229Z","dependency_job_id":"1b56fba1-4992-4d70-af3c-623c0b1baa90","html_url":"https://github.com/OrienteerBAP/wicket-orientdb","commit_stats":null,"previous_names":["orienteerdw/wicket-orientdb"],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OrienteerBAP%2Fwicket-orientdb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OrienteerBAP%2Fwicket-orientdb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OrienteerBAP%2Fwicket-orientdb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OrienteerBAP%2Fwicket-orientdb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OrienteerBAP","download_url":"https://codeload.github.com/OrienteerBAP/wicket-orientdb/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228476044,"owners_count":17926134,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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","orientdb","orienteer","wicket"],"created_at":"2024-12-06T14:11:17.526Z","updated_at":"2025-12-18T06:02:26.778Z","avatar_url":"https://github.com/OrienteerBAP.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/OrienteerBAP/wicket-orientdb.svg?branch=master)](https://travis-ci.org/OrienteerBAP/wicket-orientdb) [![Coverage Status](https://img.shields.io/coveralls/OrienteerBAP/wicket-orientdb.svg)](https://coveralls.io/r/OrienteerBAP/wicket-orientdb)\n\nwicket-orientdb\n===============\n\nEverything you need to work with Apache Wicket and OrientDB.\nLibrary contains several functional part which can be used separatly or all together.\n\nLooking for examples? [Orienteer - Business Application Platform](https://github.com/OrienteerBAP/Orienteer)\n\nInitial setup of application\n-----------------------\n\nYou should inherit WebApplication class from `OrientDbWebApplication` to use OrientDB and its authentication with in your application.\n\n```java\npublic class WicketApplication extends OrientDbWebApplication\n```\n\nSpecify connection properties\n```java\n\t\tgetOrientDbSettings().setDBUrl(\"local:localhost/\"+DB_NAME);\n\t\tgetOrientDbSettings().setAdminUserName(\"admin\");\n\t\tgetOrientDbSettings().setAdminUserPassword(\"admin\");\n```\n\nEmbedded OrientDB Server\n------------------------\n\nIf you need to run OrientDB in embedded mode please use `EmbeddOrientDbApplicationListener`\n\n```java\npublic class WicketApplication extends OrientDbWebApplication\n{\n@Override\n\tpublic void init()\n\t{\n\t\tsuper.init();\n\t\tgetApplicationListeners().add(new EmbeddOrientDbApplicationListener(WicketApplication.class.getResource(\"db.config.xml\"))\n\t\t{\n\n\t\t\t@Override\n\t\t\tpublic void onAfterServerStartupAndActivation() throws Exception {\n\t\t\t\tOServerAdmin serverAdmin = new OServerAdmin(\"localhost/\"+DB_NAME).connect(\"root\", \"WicketOrientDB\");\n\t\t\t\tif(!serverAdmin.existsDatabase())\n\t\t\t    serverAdmin.createDatabase(DB_NAME, \"graph\", \"local\");\n\t\t\t    \n\t\t\t}\n\t\t\t\n\t\t});\n\t\tgetOrientDbSettings().setDBUrl(\"local:localhost/\"+DB_NAME);\n\t\tgetOrientDbSettings().setAdminUserName(\"admin\");\n\t\tgetOrientDbSettings().setAdminUserPassword(\"admin\");\n\t}\n}\n```\n\nPropertyModel\n-------------\n\nTo gain access to Orient DB document from your application please use `ODocumentPropertyModel` instead of common `PropertyModel`.\nImportant! Following issue have been created to introduce support of custom properties models into wicket: \nhttps://issues.apache.org/jira/browse/WICKET-5623\nIf you interested in using PropertyModel as usual in wicket, please, take a look to following pull request: https://github.com/apache/wicket/pull/74\n\nSecurity\n--------\n\nIt's easy to integrate with OrientDB security stuff:\nYou can either specify static required orientDB resources\n\n```java\n@RequiredOrientResource(value=ORule.ResourceGeneric.CLASS, specific=\"ORole\", permissions={OrientPermission.READ, OrientPermission.UPDATE})\npublic class MyPage extends WebPage {\n...\n```\n```java\n@RequiredOrientResources({\n\t@RequiredOrientResource(value = OSecurityHelper.SCHEMA, permissions=OrientPermission.READ),\n\t@RequiredOrientResource(value = OSecurityHelper.CLASS, permissions=OrientPermission.READ),\n})\npublic class MyPanel extends Panel {\n...\n```\n\nor provide them dynamically: just implement ISecuredComponent\n\n```java\npublic class SaveSchemaCommand\u003cT\u003e extends SavePrototypeCommand\u003cT\u003e implements ISecuredComponent {\n...\n\t@Override\n\tpublic RequiredOrientResource[] getRequiredResources() {\n\t\tT object = objectModel.getObject();\n\t\tOrientPermission permission = (object instanceof IPrototype\u003c?\u003e)?OrientPermission.CREATE:OrientPermission.UPDATE;\n\t\treturn OSecurityHelper.requireResource(OSecurityHelper.SCHEMA, null, permission);\n\t}\n\n```\n\nOrientDB objects prototypes\n---------------------------\n\nSometimes it's useful to work with object without actual creation of that object. Examples: OClass, OProperty, OIndex - all this objects require pre-creation in DB. Prototyping microframeworks allows creation of 'Prototype' of some objects, modify it and only after that 'realize' it in real environment. \n\nUsage:\n```java\nOClass oClass = OClassPrototyper.newPrototype();\noClass.setName(\"MyClass\");\noClass.setSuperClass(superClass);\nOClass realOClass = ((IPrototype\u003cOClass\u003e)oClass).realizePrototype();\n```\n\n\n\n\n\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forienteerbap%2Fwicket-orientdb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Forienteerbap%2Fwicket-orientdb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forienteerbap%2Fwicket-orientdb/lists"}