├── .gitattributes
├── bonita-integration-tests-web
├── .gitignore
└── src
│ ├── test
│ └── resources
│ │ ├── page.zip
│ │ └── newPage.zip
│ └── main
│ ├── resources
│ ├── logback.xml
│ └── org
│ │ └── bonitasoft
│ │ └── test
│ │ └── toolkit
│ │ └── connector
│ │ ├── TestConnector.java
│ │ └── TestConnector.impl
│ └── java
│ └── org
│ └── bonitasoft
│ └── test
│ └── toolkit
│ ├── bpm
│ ├── TestActor.java
│ ├── TestCaseFactory.java
│ └── AbstractManualTask.java
│ ├── organization
│ ├── TestMembershipFactory.java
│ └── AdminUser.java
│ └── exception
│ └── NoActivityLeftException.java
├── server
├── src
│ ├── test
│ │ ├── resources
│ │ │ ├── bdmDependencies
│ │ │ │ ├── bdm-dao.jar
│ │ │ │ ├── bdm-client.jar
│ │ │ │ └── javassist-3.18.1-GA.jar
│ │ │ ├── ARootPageFolder
│ │ │ │ ├── lib
│ │ │ │ │ ├── bdm-dao.jar
│ │ │ │ │ ├── util.jar
│ │ │ │ │ ├── bdm-client.jar
│ │ │ │ │ ├── javassist-3.18.1-GA.jar
│ │ │ │ │ └── subdir
│ │ │ │ │ │ └── resource.properties
│ │ │ │ ├── org
│ │ │ │ │ └── company
│ │ │ │ │ │ └── test
│ │ │ │ │ │ ├── config.properties
│ │ │ │ │ │ └── Util.groovy
│ │ │ │ ├── AbstractIndex.groovy
│ │ │ │ └── Index.groovy
│ │ │ ├── invalidCustomPage
│ │ │ │ ├── resources
│ │ │ │ │ └── style.css
│ │ │ │ └── descriptor.properties
│ │ │ ├── invalidFormPage
│ │ │ │ ├── resources
│ │ │ │ │ └── index.js
│ │ │ │ └── page.properties
│ │ │ ├── invalidThemePage
│ │ │ │ ├── resources
│ │ │ │ │ └── style.css
│ │ │ │ └── page.properties
│ │ │ ├── org
│ │ │ │ └── bonitasoft
│ │ │ │ │ ├── web
│ │ │ │ │ └── rest
│ │ │ │ │ │ └── server
│ │ │ │ │ │ ├── api
│ │ │ │ │ │ ├── bdm
│ │ │ │ │ │ │ ├── bizdatamodel.zip
│ │ │ │ │ │ │ ├── simpleRef.json
│ │ │ │ │ │ │ ├── multiRef.json
│ │ │ │ │ │ │ └── refs.json
│ │ │ │ │ │ ├── bpm
│ │ │ │ │ │ │ ├── flownode
│ │ │ │ │ │ │ │ ├── timerEventTriggerInstance.json
│ │ │ │ │ │ │ │ ├── timerEventTriggerInstances.json
│ │ │ │ │ │ │ │ ├── longDataInstance.json
│ │ │ │ │ │ │ │ ├── nullDataInstance.json
│ │ │ │ │ │ │ │ ├── doubleDataInstance.json
│ │ │ │ │ │ │ │ ├── stringDataInstance.json
│ │ │ │ │ │ │ │ ├── floatDataInstance.json
│ │ │ │ │ │ │ │ └── contract.json
│ │ │ │ │ │ │ └── process
│ │ │ │ │ │ │ │ └── contract.json
│ │ │ │ │ │ └── extension
│ │ │ │ │ │ │ └── page.properties
│ │ │ │ │ │ └── datastore
│ │ │ │ │ │ └── page
│ │ │ │ │ │ ├── page.zip
│ │ │ │ │ │ └── pageApiExtension.zip
│ │ │ │ │ └── console
│ │ │ │ │ └── common
│ │ │ │ │ └── server
│ │ │ │ │ └── page
│ │ │ │ │ ├── file.css
│ │ │ │ │ ├── page.zip
│ │ │ │ │ ├── pageApiExtension.zip
│ │ │ │ │ ├── page.properties
│ │ │ │ │ ├── my_html_page_v_6
│ │ │ │ │ └── index.html
│ │ │ │ │ └── my_html_page_v_7
│ │ │ │ │ └── resources
│ │ │ │ │ └── index.html
│ │ │ ├── i18n
│ │ │ │ ├── test_fr.po
│ │ │ │ ├── other_translations_fr.po
│ │ │ │ └── portal_fr.po
│ │ │ ├── custom_po_resource
│ │ │ │ ├── test_fr.po
│ │ │ │ ├── test_es.po
│ │ │ │ └── added_custom_i18n_fr.po
│ │ │ ├── doc.jpg
│ │ │ ├── resources-permissions-mapping.properties
│ │ │ ├── InvalidPage.zip
│ │ │ ├── pageApiExtension.zip
│ │ │ ├── pageWithPermissions.zip
│ │ │ ├── custom-permissions-mapping.properties
│ │ │ ├── pageWithIndexInResources.zip
│ │ │ ├── myRestAPI-1.0.0-SNAPSHOT
│ │ │ │ ├── lib
│ │ │ │ │ └── myRestAPI-1.0.0-SNAPSHOT.jar
│ │ │ │ └── page.properties
│ │ │ ├── compound-permissions-mapping.properties
│ │ │ ├── IndexRestApi.groovy
│ │ │ ├── logback-test.xml
│ │ │ └── test.po
│ │ └── java
│ │ │ └── org
│ │ │ └── bonitasoft
│ │ │ ├── web
│ │ │ ├── rest
│ │ │ │ ├── server
│ │ │ │ │ ├── api
│ │ │ │ │ │ ├── bpm
│ │ │ │ │ │ │ └── flownode
│ │ │ │ │ │ │ │ ├── Dummy.java
│ │ │ │ │ │ │ │ ├── APIActivityTest.java
│ │ │ │ │ │ │ │ ├── APIUserTaskTest.java
│ │ │ │ │ │ │ │ ├── APITaskTest.java
│ │ │ │ │ │ │ │ └── archive
│ │ │ │ │ │ │ │ ├── APIArchivedFlowNodeTest.java
│ │ │ │ │ │ │ │ ├── APIArchivedUserTaskTest.java
│ │ │ │ │ │ │ │ ├── APIArchivedActivityTest.java
│ │ │ │ │ │ │ │ └── APIArchivedHumanTaskTest.java
│ │ │ │ │ │ ├── organization
│ │ │ │ │ │ │ └── password
│ │ │ │ │ │ │ │ └── validator
│ │ │ │ │ │ │ │ ├── DefaultPasswordValidatorTest.java
│ │ │ │ │ │ │ │ └── RobustnessPasswordValidatorTest.java
│ │ │ │ │ │ ├── resource
│ │ │ │ │ │ │ └── ErrorMessageTest.java
│ │ │ │ │ │ └── tenant
│ │ │ │ │ │ │ └── TenantResourceItemTest.java
│ │ │ │ │ ├── datastore
│ │ │ │ │ │ ├── utils
│ │ │ │ │ │ │ └── NotSerializableObject.java
│ │ │ │ │ │ ├── bpm
│ │ │ │ │ │ │ └── cases
│ │ │ │ │ │ │ │ └── CaseVariableDatastoreTest.java
│ │ │ │ │ │ ├── filter
│ │ │ │ │ │ │ └── StrValueTest.java
│ │ │ │ │ │ └── converter
│ │ │ │ │ │ │ └── StringValueConverterTest.java
│ │ │ │ │ ├── framework
│ │ │ │ │ │ └── json
│ │ │ │ │ │ │ ├── JacksonSerializerTest.java
│ │ │ │ │ │ │ └── model
│ │ │ │ │ │ │ └── ProfileImportStatusMessageFake.java
│ │ │ │ │ └── utils
│ │ │ │ │ │ └── FakeResource.java
│ │ │ │ └── model
│ │ │ │ │ └── ModelFactoryExtTest.java
│ │ │ └── toolkit
│ │ │ │ └── client
│ │ │ │ ├── common
│ │ │ │ └── json
│ │ │ │ │ ├── JSonUtilTest.java
│ │ │ │ │ └── JSonSerializerTest.java
│ │ │ │ └── data
│ │ │ │ └── validator
│ │ │ │ └── StringFormatURLValidatorTest.java
│ │ │ ├── console
│ │ │ ├── common
│ │ │ │ └── server
│ │ │ │ │ ├── login
│ │ │ │ │ └── filter
│ │ │ │ │ │ └── FakeAuthenticationManager.java
│ │ │ │ │ ├── utils
│ │ │ │ │ └── TenantCacheUtilTest.java
│ │ │ │ │ └── page
│ │ │ │ │ └── extension
│ │ │ │ │ └── PageContextImplTest.java
│ │ │ └── server
│ │ │ │ └── service
│ │ │ │ └── ProcessActorImportServiceTest.java
│ │ │ └── livingapps
│ │ │ └── menu
│ │ │ ├── RootMenuCollectorTest.java
│ │ │ └── ChildrenMenuCollectorTest.java
│ └── main
│ │ ├── resources
│ │ ├── VERSION
│ │ └── i18n
│ │ │ └── resources_ja.po
│ │ ├── webapp
│ │ ├── images
│ │ │ ├── error-red-circle.png
│ │ │ └── error-lines-pattern.gif
│ │ ├── index.html
│ │ └── WEB-INF
│ │ │ └── errors.html
│ │ └── java
│ │ └── org
│ │ └── bonitasoft
│ │ ├── livingapps
│ │ ├── menu
│ │ │ ├── Menu.java
│ │ │ ├── RootMenuCollector.java
│ │ │ ├── ChildrenMenuCollector.java
│ │ │ ├── MenuLink.java
│ │ │ └── MenuContainer.java
│ │ └── exception
│ │ │ └── CreationException.java
│ │ ├── web
│ │ ├── rest
│ │ │ ├── server
│ │ │ │ ├── datastore
│ │ │ │ │ ├── organization
│ │ │ │ │ │ ├── Avatars.java
│ │ │ │ │ │ ├── GroupItemConverter.java
│ │ │ │ │ │ └── UserFilterCreator.java
│ │ │ │ │ ├── page
│ │ │ │ │ │ ├── PageDatastoreFactory.java
│ │ │ │ │ │ └── PageFilterCreator.java
│ │ │ │ │ ├── converter
│ │ │ │ │ │ ├── ValueConverter.java
│ │ │ │ │ │ ├── LongValueConverter.java
│ │ │ │ │ │ ├── StringValueConverter.java
│ │ │ │ │ │ ├── BooleanValueConverter.java
│ │ │ │ │ │ └── AttributeConverter.java
│ │ │ │ │ ├── filter
│ │ │ │ │ │ ├── FilterCreator.java
│ │ │ │ │ │ ├── BooleanValue.java
│ │ │ │ │ │ ├── LongValue.java
│ │ │ │ │ │ └── StrValue.java
│ │ │ │ │ ├── application
│ │ │ │ │ │ └── ApplicationFilterCreator.java
│ │ │ │ │ ├── applicationmenu
│ │ │ │ │ │ └── ApplicationMenuFilterCreator.java
│ │ │ │ │ ├── applicationpage
│ │ │ │ │ │ └── ApplicationPageFilterCreator.java
│ │ │ │ │ ├── bpm
│ │ │ │ │ │ ├── cases
│ │ │ │ │ │ │ ├── CaseDocumentFilterCreator.java
│ │ │ │ │ │ │ ├── ArchivedCaseDocumentFilterCreator.java
│ │ │ │ │ │ │ └── CaseDocumentItemConverter.java
│ │ │ │ │ │ ├── process
│ │ │ │ │ │ │ └── helper
│ │ │ │ │ │ │ │ └── SearchProcessFilterCreator.java
│ │ │ │ │ │ └── flownode
│ │ │ │ │ │ │ ├── TaskDatastore.java
│ │ │ │ │ │ │ ├── ActivityDatastore.java
│ │ │ │ │ │ │ ├── UserTaskDatastore.java
│ │ │ │ │ │ │ ├── HumanTaskDatastore.java
│ │ │ │ │ │ │ └── FlowNodeDatastore.java
│ │ │ │ │ └── profile
│ │ │ │ │ │ └── member
│ │ │ │ │ │ └── MemberTypeConverter.java
│ │ │ │ ├── framework
│ │ │ │ │ ├── search
│ │ │ │ │ │ └── ISearchDirection.java
│ │ │ │ │ ├── json
│ │ │ │ │ │ └── JacksonSerializer.java
│ │ │ │ │ ├── api
│ │ │ │ │ │ ├── Datastore.java
│ │ │ │ │ │ ├── APIHasAdd.java
│ │ │ │ │ │ ├── DatastoreHasAdd.java
│ │ │ │ │ │ ├── APIHasDelete.java
│ │ │ │ │ │ ├── DatastoreHasDelete.java
│ │ │ │ │ │ ├── APIHasGet.java
│ │ │ │ │ │ ├── DatastoreHasGet.java
│ │ │ │ │ │ ├── APIHasUpdate.java
│ │ │ │ │ │ ├── DatastoreHasUpdate.java
│ │ │ │ │ │ ├── DatastoreHasSearch.java
│ │ │ │ │ │ ├── EnumConverter.java
│ │ │ │ │ │ └── APIHasSearch.java
│ │ │ │ │ ├── utils
│ │ │ │ │ │ └── converter
│ │ │ │ │ │ │ ├── Converter.java
│ │ │ │ │ │ │ ├── ConversionException.java
│ │ │ │ │ │ │ └── typed
│ │ │ │ │ │ │ ├── StringConverter.java
│ │ │ │ │ │ │ └── BooleanConverter.java
│ │ │ │ │ ├── APIs.java
│ │ │ │ │ └── exception
│ │ │ │ │ │ └── APIFilterEmptyException.java
│ │ │ │ ├── api
│ │ │ │ │ ├── bpm
│ │ │ │ │ │ ├── signal
│ │ │ │ │ │ │ └── BPMSignal.java
│ │ │ │ │ │ ├── flownode
│ │ │ │ │ │ │ ├── archive
│ │ │ │ │ │ │ │ └── ArchivedUserTaskContextResourceFinder.java
│ │ │ │ │ │ │ ├── UserTaskContractResourceFinder.java
│ │ │ │ │ │ │ ├── TimerEventTriggerResourceFinder.java
│ │ │ │ │ │ │ ├── UserTaskContextResourceFinder.java
│ │ │ │ │ │ │ ├── APIFlowNode.java
│ │ │ │ │ │ │ ├── APIUserTask.java
│ │ │ │ │ │ │ ├── APIHumanTask.java
│ │ │ │ │ │ │ ├── UserTaskExecutionResourceFinder.java
│ │ │ │ │ │ │ └── TimerEventTrigger.java
│ │ │ │ │ │ └── process
│ │ │ │ │ │ │ ├── ProcessContractResourceFinder.java
│ │ │ │ │ │ │ ├── ProcessDefinitionDesignResourceFinder.java
│ │ │ │ │ │ │ └── ProcessInstantiationResourceFinder.java
│ │ │ │ │ ├── form
│ │ │ │ │ │ └── FormMappingResourceFinder.java
│ │ │ │ │ ├── bdm
│ │ │ │ │ │ ├── BusinessDataFieldValue.java
│ │ │ │ │ │ ├── BusinessDataQueryResourceFinder.java
│ │ │ │ │ │ └── BusinessDataFindByIdsResourceFinder.java
│ │ │ │ │ ├── system
│ │ │ │ │ │ └── VersionFile.java
│ │ │ │ │ └── organization
│ │ │ │ │ │ └── password
│ │ │ │ │ │ └── validator
│ │ │ │ │ │ └── DefaultPasswordValidator.java
│ │ │ │ └── engineclient
│ │ │ │ │ └── CustomUserInfoEngineClientCreator.java
│ │ │ └── model
│ │ │ │ ├── bpm
│ │ │ │ ├── flownode
│ │ │ │ │ ├── ITaskItem.java
│ │ │ │ │ └── IUserTaskItem.java
│ │ │ │ └── AbstractDocumentDefinition.java
│ │ │ │ ├── identity
│ │ │ │ └── MemberType.java
│ │ │ │ ├── tenant
│ │ │ │ └── BusinessDataModelItem.java
│ │ │ │ └── bdm
│ │ │ │ └── BusinessDataModelItem.java
│ │ └── toolkit
│ │ │ ├── client
│ │ │ ├── data
│ │ │ │ └── item
│ │ │ │ │ ├── attribute
│ │ │ │ │ ├── modifier
│ │ │ │ │ │ ├── Modifier.java
│ │ │ │ │ │ ├── AbstractStringModifier.java
│ │ │ │ │ │ └── DefaultValueModifier.java
│ │ │ │ │ ├── validator
│ │ │ │ │ │ ├── IsNumericValidator.java
│ │ │ │ │ │ ├── FileIsNoScript.java
│ │ │ │ │ │ ├── FileExtensionForbiddenValidator.java
│ │ │ │ │ │ ├── FileIsImageValidator.java
│ │ │ │ │ │ ├── StringSingleLineValidator.java
│ │ │ │ │ │ └── AbstractCollectionValidator.java
│ │ │ │ │ └── ModifiableInput.java
│ │ │ │ │ ├── template
│ │ │ │ │ ├── ItemHasIcon.java
│ │ │ │ │ ├── ItemHasUniqueId.java
│ │ │ │ │ ├── ItemHasLastUpdateDate.java
│ │ │ │ │ ├── ItemHasDualDescription.java
│ │ │ │ │ └── ItemHasDualName.java
│ │ │ │ │ └── DummyItem.java
│ │ │ └── common
│ │ │ │ ├── json
│ │ │ │ ├── JsonSerializable.java
│ │ │ │ └── JSonUnserializer.java
│ │ │ │ └── exception
│ │ │ │ └── api
│ │ │ │ ├── APIIncorrectIdException.java
│ │ │ │ └── APISessionInvalidException.java
│ │ │ └── server
│ │ │ ├── ServiceFactory.java
│ │ │ └── ServiceNotFoundException.java
│ │ └── console
│ │ ├── common
│ │ └── server
│ │ │ ├── servlet
│ │ │ ├── IconContent.java
│ │ │ └── ResourceLocationReader.java
│ │ │ ├── utils
│ │ │ ├── TenantCacheUtilFactory.java
│ │ │ ├── UnauthorizedFolderException.java
│ │ │ ├── DefaultTenantIdException.java
│ │ │ └── DocumentUtil.java
│ │ │ ├── page
│ │ │ ├── VersionedClassloader.java
│ │ │ └── PageContextHelper.java
│ │ │ ├── login
│ │ │ ├── credentials
│ │ │ │ └── Credentials.java
│ │ │ ├── filter
│ │ │ │ ├── TenantIsPausedException.java
│ │ │ │ └── EngineUserNotFoundOrInactive.java
│ │ │ └── utils
│ │ │ │ └── RedirectUrl.java
│ │ │ ├── api
│ │ │ └── token
│ │ │ │ └── APIToken.java
│ │ │ ├── auth
│ │ │ └── AuthenticationManagerNotFoundException.java
│ │ │ └── preferences
│ │ │ └── properties
│ │ │ └── PropertiesFactory.java
│ │ └── server
│ │ ├── ConsoleServiceFactory.java
│ │ └── ConsoleServiceServlet.java
└── README.md
├── .mvn
└── wrapper
│ ├── maven-wrapper.jar
│ └── maven-wrapper.properties
└── .gitignore
/.gitattributes:
--------------------------------------------------------------------------------
1 | *.po merge=ours
--------------------------------------------------------------------------------
/bonita-integration-tests-web/.gitignore:
--------------------------------------------------------------------------------
1 | /bin/
2 |
--------------------------------------------------------------------------------
/server/src/test/resources/bdmDependencies/bdm-dao.jar:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/src/test/resources/ARootPageFolder/lib/bdm-dao.jar:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/src/test/resources/ARootPageFolder/lib/util.jar:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/src/test/resources/bdmDependencies/bdm-client.jar:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/src/test/resources/ARootPageFolder/lib/bdm-client.jar:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/src/test/resources/invalidCustomPage/resources/style.css:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/src/test/resources/invalidFormPage/resources/index.js:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/src/test/resources/invalidThemePage/resources/style.css:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/src/test/resources/bdmDependencies/javassist-3.18.1-GA.jar:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/src/test/resources/ARootPageFolder/lib/javassist-3.18.1-GA.jar:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/src/test/resources/invalidFormPage/page.properties:
--------------------------------------------------------------------------------
1 | contentType=form
--------------------------------------------------------------------------------
/server/src/test/resources/invalidThemePage/page.properties:
--------------------------------------------------------------------------------
1 | contentType=theme
--------------------------------------------------------------------------------
/server/src/test/resources/ARootPageFolder/lib/subdir/resource.properties:
--------------------------------------------------------------------------------
1 | key=value
--------------------------------------------------------------------------------
/server/src/test/resources/invalidCustomPage/descriptor.properties:
--------------------------------------------------------------------------------
1 | contentType=theme
--------------------------------------------------------------------------------
/server/src/test/resources/org/bonitasoft/web/rest/server/api/bdm/bizdatamodel.zip:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/src/test/resources/ARootPageFolder/org/company/test/config.properties:
--------------------------------------------------------------------------------
1 | aProperty=Value
--------------------------------------------------------------------------------
/server/src/test/resources/i18n/test_fr.po:
--------------------------------------------------------------------------------
1 | msgid "test key"
2 | msgstr "Valeur de test en français"
3 |
--------------------------------------------------------------------------------
/server/src/test/resources/custom_po_resource/test_fr.po:
--------------------------------------------------------------------------------
1 | msgid "test key"
2 | msgstr "Valeur modifiée"
3 |
--------------------------------------------------------------------------------
/server/src/main/resources/VERSION:
--------------------------------------------------------------------------------
1 | ${project.version}
2 | ${branding.version}
3 | Bonitasoft © ${build.year}
4 |
--------------------------------------------------------------------------------
/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bonitasoft/bonita-web/HEAD/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/server/src/test/resources/custom_po_resource/test_es.po:
--------------------------------------------------------------------------------
1 | msgid "test key"
2 | msgstr "valor de prueba en Espanol"
3 |
--------------------------------------------------------------------------------
/server/src/test/resources/doc.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bonitasoft/bonita-web/HEAD/server/src/test/resources/doc.jpg
--------------------------------------------------------------------------------
/server/src/test/resources/custom_po_resource/added_custom_i18n_fr.po:
--------------------------------------------------------------------------------
1 | msgid "about"
2 | msgstr "Copyright Bonitasoft 2016"
3 |
--------------------------------------------------------------------------------
/server/src/test/resources/i18n/other_translations_fr.po:
--------------------------------------------------------------------------------
1 | msgid "web site title"
2 | msgstr "Bienvenue dans Bonita Portal 7+"
3 |
--------------------------------------------------------------------------------
/server/src/test/resources/org/bonitasoft/console/common/server/page/file.css:
--------------------------------------------------------------------------------
1 | html, body {
2 | margin: 0;
3 | padding: 0;
4 | }
--------------------------------------------------------------------------------
/server/src/test/resources/resources-permissions-mapping.properties:
--------------------------------------------------------------------------------
1 | GET|bpm/identity [UserVisualization, groupVisualization]
2 |
--------------------------------------------------------------------------------
/server/src/test/resources/InvalidPage.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bonitasoft/bonita-web/HEAD/server/src/test/resources/InvalidPage.zip
--------------------------------------------------------------------------------
/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.8.5/apache-maven-3.8.5-bin.zip
2 |
--------------------------------------------------------------------------------
/server/src/test/resources/pageApiExtension.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bonitasoft/bonita-web/HEAD/server/src/test/resources/pageApiExtension.zip
--------------------------------------------------------------------------------
/server/src/main/webapp/images/error-red-circle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bonitasoft/bonita-web/HEAD/server/src/main/webapp/images/error-red-circle.png
--------------------------------------------------------------------------------
/server/src/test/resources/org/bonitasoft/web/rest/server/api/bpm/flownode/timerEventTriggerInstance.json:
--------------------------------------------------------------------------------
1 | {
2 | "executionDate": 9223372036854775807
3 | }
--------------------------------------------------------------------------------
/server/src/test/resources/pageWithPermissions.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bonitasoft/bonita-web/HEAD/server/src/test/resources/pageWithPermissions.zip
--------------------------------------------------------------------------------
/server/src/main/webapp/images/error-lines-pattern.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bonitasoft/bonita-web/HEAD/server/src/main/webapp/images/error-lines-pattern.gif
--------------------------------------------------------------------------------
/server/src/test/resources/custom-permissions-mapping.properties:
--------------------------------------------------------------------------------
1 | profile|User=[ManageLooknFeel, ManageProfiles]
2 | profile|HR\u0020manager=[ManageProfiles]
3 |
--------------------------------------------------------------------------------
/server/src/test/resources/pageWithIndexInResources.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bonitasoft/bonita-web/HEAD/server/src/test/resources/pageWithIndexInResources.zip
--------------------------------------------------------------------------------
/bonita-integration-tests-web/src/test/resources/page.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bonitasoft/bonita-web/HEAD/bonita-integration-tests-web/src/test/resources/page.zip
--------------------------------------------------------------------------------
/bonita-integration-tests-web/src/test/resources/newPage.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bonitasoft/bonita-web/HEAD/bonita-integration-tests-web/src/test/resources/newPage.zip
--------------------------------------------------------------------------------
/server/src/main/java/org/bonitasoft/livingapps/menu/Menu.java:
--------------------------------------------------------------------------------
1 | package org.bonitasoft.livingapps.menu;
2 |
3 | public interface Menu {
4 |
5 | String getHtml();
6 | }
7 |
--------------------------------------------------------------------------------
/server/src/test/resources/ARootPageFolder/AbstractIndex.groovy:
--------------------------------------------------------------------------------
1 | public class AbstractIndex {
2 |
3 | public String name(){
4 | return "name";
5 | }
6 |
7 | }
8 |
--------------------------------------------------------------------------------
/server/src/test/resources/i18n/portal_fr.po:
--------------------------------------------------------------------------------
1 | # only here to make test org.bonitasoft.console.common.server.page.PageContextHelperTest work
2 | msgid "test key"
3 | msgstr "test value"
4 |
--------------------------------------------------------------------------------
/server/src/test/resources/ARootPageFolder/Index.groovy:
--------------------------------------------------------------------------------
1 |
2 | public class Index extends AbstractIndex {
3 |
4 | public void doGet() {
5 |
6 |
7 | }
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/server/src/test/resources/org/bonitasoft/console/common/server/page/page.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bonitasoft/bonita-web/HEAD/server/src/test/resources/org/bonitasoft/console/common/server/page/page.zip
--------------------------------------------------------------------------------
/server/src/test/resources/org/bonitasoft/web/rest/server/datastore/page/page.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bonitasoft/bonita-web/HEAD/server/src/test/resources/org/bonitasoft/web/rest/server/datastore/page/page.zip
--------------------------------------------------------------------------------
/server/src/test/resources/myRestAPI-1.0.0-SNAPSHOT/lib/myRestAPI-1.0.0-SNAPSHOT.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bonitasoft/bonita-web/HEAD/server/src/test/resources/myRestAPI-1.0.0-SNAPSHOT/lib/myRestAPI-1.0.0-SNAPSHOT.jar
--------------------------------------------------------------------------------
/server/src/test/resources/ARootPageFolder/org/company/test/Util.groovy:
--------------------------------------------------------------------------------
1 | package org.company.test;
2 |
3 | public class Util {
4 |
5 | public static String name(){
6 | return "My Name";
7 | }
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/server/src/test/resources/compound-permissions-mapping.properties:
--------------------------------------------------------------------------------
1 | processListingPage processVisualization
2 | caseListingPage caseVisualizationWithTrailingSpace
3 | taskListingPage [TaskVisualization, CaseVisualization]
4 |
5 |
--------------------------------------------------------------------------------
/server/src/test/resources/org/bonitasoft/console/common/server/page/pageApiExtension.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bonitasoft/bonita-web/HEAD/server/src/test/resources/org/bonitasoft/console/common/server/page/pageApiExtension.zip
--------------------------------------------------------------------------------
/server/src/test/resources/org/bonitasoft/web/rest/server/datastore/page/pageApiExtension.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bonitasoft/bonita-web/HEAD/server/src/test/resources/org/bonitasoft/web/rest/server/datastore/page/pageApiExtension.zip
--------------------------------------------------------------------------------
/server/src/main/java/org/bonitasoft/web/rest/server/datastore/organization/Avatars.java:
--------------------------------------------------------------------------------
1 | package org.bonitasoft.web.rest.server.datastore.organization;
2 |
3 |
4 | public interface Avatars {
5 |
6 | String PATH = "../API/avatars/";
7 | }
8 |
--------------------------------------------------------------------------------
/server/src/main/webapp/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/server/src/main/java/org/bonitasoft/web/rest/server/framework/search/ISearchDirection.java:
--------------------------------------------------------------------------------
1 | package org.bonitasoft.web.rest.server.framework.search;
2 |
3 | public interface ISearchDirection {
4 |
5 | String SORT_ORDER_ASCENDING = " ASC";
6 | String SORT_ORDER_DESCENDING = " DESC";
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/server/src/test/resources/org/bonitasoft/web/rest/server/api/bdm/simpleRef.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "myEmployee",
3 | "type": "com.bonitasoft.pojo.Employee",
4 | "storageId": 487467354,
5 | "storageId_string": "487467354",
6 | "link": "API/bdm/businessData/com.bonitasoft.pojo.Employee/487467354"
7 | }
--------------------------------------------------------------------------------
/server/src/test/resources/org/bonitasoft/web/rest/server/api/bpm/flownode/timerEventTriggerInstances.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "eventInstanceId": 2,
4 | "eventInstanceId_string": "2",
5 | "id": 1,
6 | "id_string": "1",
7 | "executionDate": 123,
8 | "eventInstanceName": "name"
9 | }
10 | ]
11 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # eclipse settings
2 | *.project
3 | *.settings
4 | *.classpath
5 | target/
6 |
7 | # intellij settings
8 | *.iml
9 | **/.idea/**
10 | .idea
11 |
12 | btm1.tlog
13 | btm2.tlog
14 |
15 | *.class
16 | /en.po
17 |
18 | *.orig
19 | *.tmp
20 | node
21 | node_modules
22 |
23 | .java-version
24 |
25 | # h2 database
26 | *.h2.db
27 | *.lock.db
28 | *.mv.db
29 | *.trace.db
--------------------------------------------------------------------------------
/server/src/test/java/org/bonitasoft/web/rest/server/api/bpm/flownode/Dummy.java:
--------------------------------------------------------------------------------
1 | package org.bonitasoft.web.rest.server.api.bpm.flownode;
2 |
3 | public class Dummy {
4 |
5 | private final String field;
6 |
7 | public Dummy(final String fieldValue) {
8 | field = fieldValue;
9 | }
10 |
11 | public String getField() {
12 | return field;
13 | }
14 |
15 | }
--------------------------------------------------------------------------------
/server/src/test/resources/myRestAPI-1.0.0-SNAPSHOT/page.properties:
--------------------------------------------------------------------------------
1 | name=custompage_myRestAPI
2 | displayName=My REST API
3 | description=REST API to manage resourceName
4 | contentType=apiExtension
5 |
6 | apiExtensions=myRestAPI
7 |
8 | myRestAPI.method=GET
9 | myRestAPI.pathTemplate=myRestAPI
10 | myRestAPI.className=com.compagny.rest.api.MyController
11 | myRestAPI.permissions=myPermission
12 |
--------------------------------------------------------------------------------
/server/src/test/resources/org/bonitasoft/web/rest/server/api/bdm/multiRef.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "myEmployee",
3 | "type": "com.bonitasoft.pojo.Employee",
4 | "storageIds": [
5 | 487467354,
6 | 48674634
7 | ],
8 | "storageIds_string": [
9 | "487467354",
10 | "48674634"
11 | ],
12 | "link": "API/bdm/businessData/com.bonitasoft.pojo.Employee/findByIds?ids=487467354,48674634"
13 | }
--------------------------------------------------------------------------------
/server/src/main/java/org/bonitasoft/livingapps/exception/CreationException.java:
--------------------------------------------------------------------------------
1 | package org.bonitasoft.livingapps.exception;
2 |
3 | public class CreationException extends Exception {
4 |
5 | public CreationException(String message, Throwable throwable) {
6 | super(message, throwable);
7 | }
8 |
9 | public CreationException(String message) {
10 | super(message);
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/server/src/test/java/org/bonitasoft/console/common/server/login/filter/FakeAuthenticationManager.java:
--------------------------------------------------------------------------------
1 | package org.bonitasoft.console.common.server.login.filter;
2 |
3 | import org.bonitasoft.console.common.server.auth.impl.standard.StandardAuthenticationManagerImpl;
4 |
5 | public class FakeAuthenticationManager extends StandardAuthenticationManagerImpl {
6 |
7 | public FakeAuthenticationManager() {
8 | }
9 |
10 | }
11 |
--------------------------------------------------------------------------------
/server/src/test/resources/org/bonitasoft/web/rest/server/api/bpm/flownode/longDataInstance.json:
--------------------------------------------------------------------------------
1 | {
2 | "tenantId": 2,
3 | "tenantId_string": "2",
4 | "name": "dataInstanceName",
5 | "description": "description",
6 | "transientData": false,
7 | "className": "com.company.Model",
8 | "containerType": null,
9 | "id": 5,
10 | "id_string": "5",
11 | "containerId": 7,
12 | "containerId_string": "7",
13 | "value": 123,
14 | "value_string": "123"
15 | }
--------------------------------------------------------------------------------
/server/src/test/resources/org/bonitasoft/web/rest/server/api/bpm/flownode/nullDataInstance.json:
--------------------------------------------------------------------------------
1 | {
2 | "tenantId": 2,
3 | "tenantId_string": "2",
4 | "name": "dataInstanceName",
5 | "description": "description",
6 | "transientData": false,
7 | "className": "com.company.Model",
8 | "containerType": null,
9 | "id": 5,
10 | "id_string": "5",
11 | "containerId": 7,
12 | "containerId_string": "7",
13 | "value": null,
14 | "value_string": "null"
15 | }
--------------------------------------------------------------------------------
/server/src/main/java/org/bonitasoft/livingapps/menu/RootMenuCollector.java:
--------------------------------------------------------------------------------
1 | package org.bonitasoft.livingapps.menu;
2 |
3 | import org.bonitasoft.engine.business.application.ApplicationMenu;
4 | import org.bonitasoft.livingapps.menu.MenuFactory.Collector;
5 |
6 |
7 | class RootMenuCollector implements Collector {
8 |
9 | @Override
10 | public boolean isCollectible(final ApplicationMenu menu) {
11 | return menu.getParentId() == null;
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/server/src/test/resources/org/bonitasoft/web/rest/server/api/bpm/flownode/doubleDataInstance.json:
--------------------------------------------------------------------------------
1 | {
2 | "tenantId": 2,
3 | "tenantId_string": "2",
4 | "name": "dataInstanceName",
5 | "description": "description",
6 | "transientData": false,
7 | "className": "com.company.Model",
8 | "containerType": null,
9 | "id": 5,
10 | "id_string": "5",
11 | "containerId": 7,
12 | "containerId_string": "7",
13 | "value": 123.5,
14 | "value_string": "123.5"
15 | }
--------------------------------------------------------------------------------
/server/src/test/resources/org/bonitasoft/web/rest/server/api/bpm/flownode/stringDataInstance.json:
--------------------------------------------------------------------------------
1 | {
2 | "tenantId": 2,
3 | "tenantId_string": "2",
4 | "name": "dataInstanceName",
5 | "description": "description",
6 | "transientData": false,
7 | "className": "com.company.Model",
8 | "containerType": null,
9 | "id": 5,
10 | "id_string": "5",
11 | "containerId": 7,
12 | "containerId_string": "7",
13 | "value": "abc",
14 | "value_string": "abc"
15 | }
--------------------------------------------------------------------------------
/server/src/test/resources/org/bonitasoft/web/rest/server/api/bpm/flownode/floatDataInstance.json:
--------------------------------------------------------------------------------
1 | {
2 | "tenantId": 2,
3 | "tenantId_string": "2",
4 | "name": "dataInstanceName",
5 | "description": "description",
6 | "transientData": false,
7 | "className": "com.company.Model",
8 | "containerType": null,
9 | "id": 5,
10 | "id_string": "5",
11 | "containerId": 7,
12 | "containerId_string": "7",
13 | "value": 123.456,
14 | "value_string": "123.456"
15 | }
--------------------------------------------------------------------------------
/server/src/test/resources/org/bonitasoft/web/rest/server/api/bdm/refs.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name": "john",
4 | "type": "com.bonitasoft.pojo.Employee",
5 | "storageId": 487467354,
6 | "storageId_string": "487467354"
7 | },
8 | {
9 | "name": "Ateam",
10 | "type": "com.bonitasoft.pojo.Employee",
11 | "storageIds": [
12 | 687646784,
13 | 2313213874354
14 | ],
15 | "storageIds_string": [
16 | "687646784",
17 | "2313213874354"
18 | ]
19 | }
20 | ]
--------------------------------------------------------------------------------
/server/src/main/java/org/bonitasoft/web/rest/server/api/bpm/signal/BPMSignal.java:
--------------------------------------------------------------------------------
1 | package org.bonitasoft.web.rest.server.api.bpm.signal;
2 |
3 | public class BPMSignal {
4 |
5 | private String name;
6 |
7 | public String getName() {
8 | return name;
9 | }
10 |
11 | public void setName(String name) {
12 | this.name = name;
13 | }
14 |
15 | public static BPMSignal create(String signalName) {
16 | var bpmSignal = new BPMSignal();
17 | bpmSignal.setName(signalName);
18 | return bpmSignal;
19 | }
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/bonita-integration-tests-web/src/main/resources/logback.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | %d{HH:mm:ss.SSS} [%thread] %-5level \(%file:%line\) %method - %msg%n
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/server/src/test/resources/org/bonitasoft/web/rest/server/api/bpm/flownode/contract.json:
--------------------------------------------------------------------------------
1 | {
2 | "constraints":[
3 | {"name":"aRule","expression":"an expression","explanation":"an explanation","inputNames":[]}
4 | ],
5 | "inputs":[
6 | {"description":"aDescription","name":"anInput","multiple":false,"type":"TEXT","inputs":[]},
7 | {"description":"description","name":"complexInput","multiple":true,"type":null,"inputs":[
8 | {"description":"aDescription","name":"anInput","multiple":false,"type":"TEXT","inputs":[]}
9 | ]}
10 | ]
11 | }
--------------------------------------------------------------------------------
/server/src/test/resources/org/bonitasoft/web/rest/server/api/bpm/process/contract.json:
--------------------------------------------------------------------------------
1 | {
2 | "constraints":[
3 | {"name":"aRule","expression":"an expression","explanation":"an explanation","inputNames":[]}
4 | ],
5 | "inputs":[
6 | {"description":"aDescription","name":"anInput","multiple":false,"type":"TEXT","inputs":[]},
7 | {"description":"description","name":"complexInput","multiple":true,"type":null,"inputs":[
8 | {"description":"aDescription","name":"anInput","multiple":false,"type":"TEXT","inputs":[]}
9 | ]}
10 | ]
11 | }
--------------------------------------------------------------------------------
/server/src/main/java/org/bonitasoft/console/common/server/servlet/IconContent.java:
--------------------------------------------------------------------------------
1 | package org.bonitasoft.console.common.server.servlet;
2 |
3 | class IconContent {
4 | private final byte[] content;
5 | private final String mimeType;
6 |
7 | public IconContent(byte[] content, String mimeType) {
8 | this.content = content;
9 | this.mimeType = mimeType;
10 | }
11 |
12 | public byte[] getContent() {
13 | return content;
14 | }
15 |
16 | public String getMimeType() {
17 | return mimeType;
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/server/src/test/java/org/bonitasoft/web/toolkit/client/common/json/JSonUtilTest.java:
--------------------------------------------------------------------------------
1 | package org.bonitasoft.web.toolkit.client.common.json;
2 |
3 | import static org.assertj.core.api.Assertions.assertThat;
4 | import static org.bonitasoft.web.toolkit.client.common.json.JSonUtil.escape;
5 |
6 | import org.junit.Test;
7 |
8 | public class JSonUtilTest {
9 |
10 | @Test
11 | public void should_escape_unsafe_html_characters() {
12 | assertThat(escape(""))
13 | .isEqualTo("\\u003cscript\\u003ealert(\\u0027bad\\u0027)\\u003c\\/script\\u003e");
14 | }
15 | }
--------------------------------------------------------------------------------
/server/src/main/java/org/bonitasoft/console/common/server/utils/TenantCacheUtilFactory.java:
--------------------------------------------------------------------------------
1 | package org.bonitasoft.console.common.server.utils;
2 |
3 | /**
4 | * @author Julien Mege
5 | *
6 | */
7 | public class TenantCacheUtilFactory {
8 |
9 | private static TenantCacheUtil tenantCacheUtil;
10 |
11 | /**
12 | * Get FormCacheUtil of different Domain
13 | * @return TenatCacheUtil
14 | */
15 | public static TenantCacheUtil getTenantCacheUtil() {
16 | if (tenantCacheUtil == null) {
17 | tenantCacheUtil = new TenantCacheUtil();
18 | }
19 | return tenantCacheUtil;
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/server/src/main/java/org/bonitasoft/livingapps/menu/ChildrenMenuCollector.java:
--------------------------------------------------------------------------------
1 | package org.bonitasoft.livingapps.menu;
2 |
3 | import org.bonitasoft.engine.business.application.ApplicationMenu;
4 | import org.bonitasoft.livingapps.menu.MenuFactory.Collector;
5 |
6 |
7 | class ChildrenMenuCollector implements Collector {
8 |
9 | private final Long parentId;
10 |
11 | public ChildrenMenuCollector(final Long parentId) {
12 | this.parentId = parentId;
13 | }
14 |
15 | @Override
16 | public boolean isCollectible(final ApplicationMenu menu) {
17 | return parentId.equals(menu.getParentId());
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/server/src/main/java/org/bonitasoft/livingapps/menu/MenuLink.java:
--------------------------------------------------------------------------------
1 | package org.bonitasoft.livingapps.menu;
2 |
3 | import org.bonitasoft.engine.business.application.ApplicationMenu;
4 |
5 |
6 | public class MenuLink implements Menu {
7 |
8 | private final ApplicationMenu menu;
9 | private final String pageToken;
10 |
11 | public MenuLink(final ApplicationMenu menu, final String pageToken) {
12 | this.menu = menu;
13 | this.pageToken = pageToken;
14 | }
15 |
16 | @Override
17 | public String getHtml() {
18 | return "" + menu.getDisplayName() + "";
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/server/src/test/resources/org/bonitasoft/console/common/server/page/page.properties:
--------------------------------------------------------------------------------
1 | #The name must start with 'custompage_'
2 | name=custompage_restApi
3 | displayName=aDisplayName
4 | description=aDescription
5 | resources=[]
6 |
7 | contentType=apiExtension
8 |
9 | apiExtensions=restResource1,restResource2
10 |
11 | restResource1.method=GET
12 | restResource1.pathTemplate=restApiGet
13 | restResource1.classFileName=restResource1.groovy
14 | restResource1.permissions=permission1
15 |
16 | restResource2.method=POST
17 | restResource2.pathTemplate=restApiPost
18 | restResource2.classFileName=restResource1.groovy
19 | restResource2.permissions=permission2,permission3
20 |
21 |
22 |
--------------------------------------------------------------------------------
/server/src/test/resources/IndexRestApi.groovy:
--------------------------------------------------------------------------------
1 | package org.bonitasoft.test.page
2 |
3 | import javax.servlet.http.HttpServletRequest
4 |
5 | import org.bonitasoft.web.extension.rest.RestAPIContext
6 | import org.bonitasoft.web.extension.rest.RestApiController
7 | import org.bonitasoft.web.extension.rest.RestApiResponse
8 | import org.bonitasoft.web.extension.rest.RestApiResponseBuilder
9 |
10 | class IndexRestApi implements RestApiController {
11 |
12 | @Override
13 | RestApiResponse doHandle(HttpServletRequest request, RestApiResponseBuilder responseBuilder, RestAPIContext context) {
14 | return responseBuilder.withResponse("result").build()
15 | }
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/server/src/main/java/org/bonitasoft/web/rest/server/framework/json/JacksonSerializer.java:
--------------------------------------------------------------------------------
1 | package org.bonitasoft.web.rest.server.framework.json;
2 |
3 | import java.io.IOException;
4 |
5 | import com.fasterxml.jackson.databind.ObjectMapper;
6 |
7 |
8 | /**
9 | * @author Fabio Lombardi
10 | *
11 | */
12 | public class JacksonSerializer {
13 |
14 | private final ObjectMapper mapper = new ObjectMapper();
15 |
16 | public String serialize(Object obj) throws IOException {
17 | try{
18 | return mapper.writeValueAsString(obj);
19 | }catch(Throwable e){
20 | e.printStackTrace();
21 | throw new RuntimeException(e);
22 | }
23 | }
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/bonita-integration-tests-web/src/main/resources/org/bonitasoft/test/toolkit/connector/TestConnector.java:
--------------------------------------------------------------------------------
1 | package org.bonitasoft.test.toolkit.connector;
2 |
3 | import org.bonitasoft.engine.connector.AbstractConnector;
4 | import org.bonitasoft.engine.connector.ConnectorException;
5 | import org.bonitasoft.engine.connector.ConnectorValidationException;
6 |
7 | /**
8 | * @author Colin PUY
9 | */
10 | public class TestConnector extends AbstractConnector {
11 |
12 | public void validateInputParameters() throws ConnectorValidationException {
13 | // Do Nothing
14 | }
15 |
16 | @Override
17 | protected void executeBusinessLogic() throws ConnectorException {
18 | // Do Nothing
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/bonita-integration-tests-web/src/main/resources/org/bonitasoft/test/toolkit/connector/TestConnector.impl:
--------------------------------------------------------------------------------
1 |
2 |
3 | org.bonitasoft.test.toolkit.connector.TestConnector
4 | 1.0
5 | org.bonitasoft.test.toolkit.connector.TestConnector
6 | org.bonitasoft.test.toolkit.connector.testConnector
7 | 1.0
8 |
9 |
10 | aDependency.jar
11 | anOtherDependency.jar
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/server/src/test/java/org/bonitasoft/web/rest/server/api/bpm/flownode/APIActivityTest.java:
--------------------------------------------------------------------------------
1 | package org.bonitasoft.web.rest.server.api.bpm.flownode;
2 |
3 | import static org.assertj.core.api.Assertions.assertThat;
4 |
5 | import org.bonitasoft.web.rest.server.APITestWithMock;
6 | import org.junit.Test;
7 |
8 | public class APIActivityTest extends APITestWithMock {
9 |
10 | @Test
11 | public void should_have_default_search_order() throws Exception {
12 | final APIActivity apiActivity = new APIActivity();
13 |
14 | final String defineDefaultSearchOrder = apiActivity.defineDefaultSearchOrder();
15 |
16 | assertThat(defineDefaultSearchOrder).as("sould have a default search order").isEqualTo("state ASC");
17 | }
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/server/src/main/java/org/bonitasoft/console/common/server/utils/UnauthorizedFolderException.java:
--------------------------------------------------------------------------------
1 | package org.bonitasoft.console.common.server.utils;
2 |
3 | import java.io.IOException;
4 |
5 | /**
6 | * Technical exception thrown when we try to read/write a file out of the authorized file system path.
7 | *
8 | * @author Julien Mege
9 | */
10 | public class UnauthorizedFolderException extends IOException {
11 |
12 | private static final long serialVersionUID = 1071342750973031637L;
13 |
14 | public UnauthorizedFolderException(final String message, final Throwable throwable) {
15 | super(message, throwable);
16 | }
17 |
18 | public UnauthorizedFolderException(final String message) {
19 | super(message);
20 | }
21 |
22 | }
23 |
--------------------------------------------------------------------------------
/server/src/test/java/org/bonitasoft/web/rest/server/api/organization/password/validator/DefaultPasswordValidatorTest.java:
--------------------------------------------------------------------------------
1 | package org.bonitasoft.web.rest.server.api.organization.password.validator;
2 |
3 | import static org.junit.Assert.assertTrue;
4 |
5 | import org.bonitasoft.console.common.server.i18n.I18n;
6 | import org.junit.Test;
7 |
8 |
9 |
10 | public class DefaultPasswordValidatorTest {
11 |
12 | DefaultPasswordValidator defaultPasswordValidator = new DefaultPasswordValidator();
13 |
14 | @Test
15 | public void testWithPassword() {
16 | I18n.getInstance();
17 | defaultPasswordValidator.setLocale("en");
18 | defaultPasswordValidator.check("password");
19 | assertTrue(defaultPasswordValidator.getErrors().isEmpty());
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/server/src/test/java/org/bonitasoft/web/rest/server/api/bpm/flownode/APIUserTaskTest.java:
--------------------------------------------------------------------------------
1 | package org.bonitasoft.web.rest.server.api.bpm.flownode;
2 |
3 | import static org.assertj.core.api.Assertions.assertThat;
4 |
5 | import org.bonitasoft.web.rest.server.APITestWithMock;
6 | import org.junit.Test;
7 |
8 |
9 | public class APIUserTaskTest extends APITestWithMock {
10 |
11 | @Test
12 | public void should_have_default_search_order() throws Exception {
13 | //given
14 | final APIUserTask api = new APIUserTask();
15 |
16 | //when
17 | final String defineDefaultSearchOrder = api.defineDefaultSearchOrder();
18 |
19 | //then
20 | assertThat(defineDefaultSearchOrder).as("sould have a default search order").isEqualTo("priority DESC");
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/server/src/test/java/org/bonitasoft/web/rest/server/api/bpm/flownode/APITaskTest.java:
--------------------------------------------------------------------------------
1 | package org.bonitasoft.web.rest.server.api.bpm.flownode;
2 |
3 | import static org.assertj.core.api.Assertions.assertThat;
4 |
5 | import org.bonitasoft.web.rest.server.APITestWithMock;
6 | import org.junit.Test;
7 |
8 | public class APITaskTest extends APITestWithMock {
9 |
10 | @Test
11 | public void should_have_default_search_order() throws Exception {
12 | //given
13 | final APITask apiActivity = new APITask();
14 |
15 | //when
16 | final String defineDefaultSearchOrder = apiActivity.defineDefaultSearchOrder();
17 |
18 | //then
19 | assertThat(defineDefaultSearchOrder).as("sould have a default search order").isEqualTo("last_update_date DESC");
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/server/src/test/java/org/bonitasoft/web/rest/server/api/bpm/flownode/archive/APIArchivedFlowNodeTest.java:
--------------------------------------------------------------------------------
1 | package org.bonitasoft.web.rest.server.api.bpm.flownode.archive;
2 |
3 | import static org.assertj.core.api.Assertions.assertThat;
4 |
5 | import org.bonitasoft.web.rest.server.APITestWithMock;
6 | import org.junit.Test;
7 |
8 |
9 | public class APIArchivedFlowNodeTest extends APITestWithMock {
10 |
11 | @Test
12 | public void should_have_default_search_order() throws Exception {
13 | final APIArchivedFlowNode apiActivity = new APIArchivedFlowNode();
14 |
15 | final String defineDefaultSearchOrder = apiActivity.defineDefaultSearchOrder();
16 |
17 | assertThat(defineDefaultSearchOrder).as("sould have a default search order").isEqualTo("displayName ASC");
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/server/src/test/java/org/bonitasoft/web/rest/server/api/bpm/flownode/archive/APIArchivedUserTaskTest.java:
--------------------------------------------------------------------------------
1 | package org.bonitasoft.web.rest.server.api.bpm.flownode.archive;
2 |
3 | import static org.assertj.core.api.Assertions.assertThat;
4 |
5 | import org.bonitasoft.web.rest.server.APITestWithMock;
6 | import org.junit.Test;
7 |
8 | public class APIArchivedUserTaskTest extends APITestWithMock {
9 |
10 | @Test
11 | public void should_have_default_search_order() throws Exception {
12 | final APIArchivedUserTask apiActivity = new APIArchivedUserTask();
13 |
14 | final String defineDefaultSearchOrder = apiActivity.defineDefaultSearchOrder();
15 |
16 | assertThat(defineDefaultSearchOrder).as("sould have a default search order").isEqualTo("priority DESC");
17 | }
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/server/src/main/java/org/bonitasoft/web/rest/server/api/bpm/flownode/archive/ArchivedUserTaskContextResourceFinder.java:
--------------------------------------------------------------------------------
1 | package org.bonitasoft.web.rest.server.api.bpm.flownode.archive;
2 |
3 | import org.bonitasoft.engine.api.ProcessAPI;
4 | import org.bonitasoft.web.rest.server.ResourceFinder;
5 | import org.restlet.Request;
6 | import org.restlet.Response;
7 | import org.restlet.resource.ServerResource;
8 |
9 | /**
10 | * Created by Fabio Lombardi
11 | */
12 | public class ArchivedUserTaskContextResourceFinder extends ResourceFinder {
13 | @Override
14 | public ServerResource create(final Request request, final Response response) {
15 | final ProcessAPI processAPI = getProcessAPI(request);
16 | return new ArchivedUserTaskContextResource(processAPI, getFinderFactory());
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/server/src/test/java/org/bonitasoft/web/rest/server/api/bpm/flownode/archive/APIArchivedActivityTest.java:
--------------------------------------------------------------------------------
1 | package org.bonitasoft.web.rest.server.api.bpm.flownode.archive;
2 |
3 | import static org.assertj.core.api.Assertions.assertThat;
4 |
5 | import org.bonitasoft.web.rest.server.APITestWithMock;
6 | import org.junit.Test;
7 |
8 | public class APIArchivedActivityTest extends APITestWithMock {
9 |
10 | @Test
11 | public void should_have_default_search_order() throws Exception {
12 | final APIArchivedActivity apiActivity = new APIArchivedActivity();
13 |
14 | final String defineDefaultSearchOrder = apiActivity.defineDefaultSearchOrder();
15 |
16 | assertThat(defineDefaultSearchOrder).as("sould have a default search order").isEqualTo("reached_state_date ASC");
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/server/src/test/java/org/bonitasoft/web/rest/server/api/bpm/flownode/archive/APIArchivedHumanTaskTest.java:
--------------------------------------------------------------------------------
1 | package org.bonitasoft.web.rest.server.api.bpm.flownode.archive;
2 |
3 | import static org.assertj.core.api.Assertions.assertThat;
4 |
5 | import org.bonitasoft.web.rest.server.APITestWithMock;
6 | import org.junit.Test;
7 |
8 |
9 | public class APIArchivedHumanTaskTest extends APITestWithMock {
10 |
11 | @Test
12 | public void should_have_default_search_order() throws Exception {
13 | //given
14 | final APIArchivedHumanTask api = new APIArchivedHumanTask();
15 |
16 | //when
17 | final String defineDefaultSearchOrder = api.defineDefaultSearchOrder();
18 |
19 | //then
20 | assertThat(defineDefaultSearchOrder).as("sould have a default search order").isEqualTo("priority DESC");
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/server/src/test/java/org/bonitasoft/console/common/server/utils/TenantCacheUtilTest.java:
--------------------------------------------------------------------------------
1 | package org.bonitasoft.console.common.server.utils;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.junit.Assert.assertEquals;
6 | import static org.junit.Assert.assertNotNull;
7 |
8 | public class TenantCacheUtilTest {
9 |
10 | @Test
11 | public void shouldStoreActorInitiator() {
12 | final TenantCacheUtil tenantCacheUtil = TenantCacheUtilFactory.getTenantCacheUtil();
13 | tenantCacheUtil.storeProcessActorInitiatorId(2L, 3L);
14 | final Long actorInitiatorRetrievedFromCacheByParameters = TenantCacheUtilFactory.getTenantCacheUtil().getProcessActorInitiatorId(2L);
15 | assertNotNull(actorInitiatorRetrievedFromCacheByParameters);
16 | assertEquals(3L, actorInitiatorRetrievedFromCacheByParameters.longValue());
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/server/src/main/webapp/WEB-INF/errors.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Error %s
5 |
6 |
7 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/server/src/test/resources/logback-test.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 | |%d{HH:mm:ss.SSS}|%thread|%-5level|%logger{16}| %msg%n
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/server/src/main/java/org/bonitasoft/web/rest/server/datastore/page/PageDatastoreFactory.java:
--------------------------------------------------------------------------------
1 | package org.bonitasoft.web.rest.server.datastore.page;
2 |
3 | import org.bonitasoft.console.common.server.page.CustomPageService;
4 | import org.bonitasoft.console.common.server.preferences.constants.WebBonitaConstantsUtils;
5 | import org.bonitasoft.console.common.server.utils.BonitaHomeFolderAccessor;
6 | import org.bonitasoft.engine.api.PageAPI;
7 | import org.bonitasoft.engine.session.APISession;
8 |
9 |
10 | public class PageDatastoreFactory {
11 |
12 | public PageDatastore create(final APISession engineSession, final WebBonitaConstantsUtils constantsValue, final PageAPI pageAPI) {
13 | return new PageDatastore(engineSession,
14 | constantsValue,
15 | pageAPI,
16 | new CustomPageService(),
17 | new BonitaHomeFolderAccessor());
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/server/src/test/java/org/bonitasoft/livingapps/menu/RootMenuCollectorTest.java:
--------------------------------------------------------------------------------
1 | package org.bonitasoft.livingapps.menu;
2 |
3 | import static org.assertj.core.api.Assertions.assertThat;
4 |
5 | import org.bonitasoft.engine.business.application.impl.ApplicationMenuImpl;
6 | import org.junit.Test;
7 |
8 | public class RootMenuCollectorTest {
9 |
10 | RootMenuCollector collector = new RootMenuCollector();
11 |
12 | ApplicationMenuImpl menu = new ApplicationMenuImpl("name", 1L, 2L, 1);
13 |
14 | @Test
15 | public void should_be_collectible_when_the_menu_has_no_parentId() {
16 | menu.setParentId(null);
17 |
18 | assertThat(collector.isCollectible(menu)).isTrue();
19 | }
20 |
21 | @Test
22 | public void should_not_be_collectible_when_the_menu_has_a_parentId() {
23 | menu.setParentId(3L);
24 |
25 | assertThat(collector.isCollectible(menu)).isFalse();
26 | }
27 | }
--------------------------------------------------------------------------------
/server/README.md:
--------------------------------------------------------------------------------
1 | # Server
2 |
3 | Bonita server app.
4 | Enhance server with a REST API
5 |
6 | ## Launch dev mode
7 | The module need to first be built using
8 |
9 | mvn clean install
10 |
11 | Then we can build and launch a tomcat to host the app using
12 |
13 | mvn clean verify org.codehaus.cargo:cargo-maven2-plugin:run -DskipTests
14 |
15 | H2 database is created (if it does not already exist) in ${user.home}/.bonita/community/database
16 | When you checkout a different branch you need to clean this directory because the database schema may have changed.
17 |
18 | Hot reload is not supported, but hen you update a class in portal/, server/ or common/ in your IDE all you need to do is to restart the tomcat with the previous command (classes will be retrieved from the projects target/classes directory)
19 |
20 | You can debug the server code using the Remote Debug configuration of your ide on the port 5005.
--------------------------------------------------------------------------------
/server/src/main/java/org/bonitasoft/console/common/server/servlet/ResourceLocationReader.java:
--------------------------------------------------------------------------------
1 | package org.bonitasoft.console.common.server.servlet;
2 |
3 | import javax.servlet.http.HttpServletRequest;
4 |
5 |
6 | public class ResourceLocationReader {
7 |
8 | /**
9 | * file location
10 | */
11 | public final static String LOCATION_PARAM = "location";
12 |
13 | public String getResourceLocationFromRequest(final HttpServletRequest request) {
14 | String fileName = request.getParameter(LOCATION_PARAM);
15 | if (fileName == null) {
16 | final String pathInfo = request.getPathInfo();
17 | if (pathInfo != null && pathInfo.startsWith("/") && pathInfo.length() > 1) {
18 | //Support relative calls to the THEME from the homepage using ../theme
19 | fileName = pathInfo.substring(1);
20 | }
21 | }
22 | return fileName;
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/server/src/test/java/org/bonitasoft/web/rest/server/datastore/utils/NotSerializableObject.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (C) 2012 BonitaSoft S.A.
3 | *
4 | * BonitaSoft, 32 rue Gustave Eiffel - 38000 Grenoble
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 2.0 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 | package org.bonitasoft.web.rest.server.datastore.utils;
19 |
20 | public class NotSerializableObject {
21 | }
--------------------------------------------------------------------------------
/server/src/test/java/org/bonitasoft/web/rest/server/api/resource/ErrorMessageTest.java:
--------------------------------------------------------------------------------
1 | package org.bonitasoft.web.rest.server.api.resource;
2 |
3 | import static org.assertj.core.api.Assertions.assertThat;
4 |
5 | import org.junit.Test;
6 |
7 | public class ErrorMessageTest {
8 |
9 | @Test
10 | public void should_encode_message_when_using_constructor() throws Exception {
11 | ErrorMessage errorMessage = new ErrorMessage(new RuntimeException(""));
12 |
13 | assertThat(errorMessage.getMessage()).isEqualTo("\\u003cscript\\u003ealert(\\u0027bad\\u0027)\\u003c\\/script\\u003e");
14 | }
15 |
16 | @Test
17 | public void should_encode_message_when_using_setter() throws Exception {
18 | ErrorMessage errorMessage = new ErrorMessage();
19 | errorMessage.setMessage("");
20 |
21 | assertThat(errorMessage.getMessage()).isEqualTo("\\u003cscript\\u003ealert(\\u0027bad\\u0027)\\u003c\\/script\\u003e");
22 | }
23 | }
--------------------------------------------------------------------------------
/server/src/main/java/org/bonitasoft/web/rest/server/framework/api/Datastore.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (C) 2012 BonitaSoft S.A.
3 | * BonitaSoft, 32 rue Gustave Eiffel - 38000 Grenoble
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 2.0 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | */
17 | package org.bonitasoft.web.rest.server.framework.api;
18 |
19 | /**
20 | * @author Julien Mege
21 | *
22 | */
23 | public class Datastore {
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/server/src/test/java/org/bonitasoft/web/rest/server/framework/json/JacksonSerializerTest.java:
--------------------------------------------------------------------------------
1 | package org.bonitasoft.web.rest.server.framework.json;
2 |
3 | import static org.assertj.core.api.Assertions.assertThat;
4 |
5 | import org.bonitasoft.web.rest.server.framework.json.model.ProfileImportStatusMessageFake;
6 | import org.junit.Test;
7 |
8 | public class JacksonSerializerTest {
9 |
10 | @Test
11 | public void testSerialize() throws Exception {
12 | // Given
13 | JacksonSerializer serializer = new JacksonSerializer();
14 | ProfileImportStatusMessageFake message = new ProfileImportStatusMessageFake("profile1", "will be replaced");
15 | message.addError("Organization: skks");
16 | message.addError("Page: page1");
17 |
18 | // When
19 | String serialize = serializer.serialize(message);
20 |
21 | // Then
22 | assertThat(serialize).isEqualTo("{\"errors\":[\"Organization: skks\",\"Page: page1\"],\"profileName\":\"profile1\"}");
23 |
24 | }
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/server/src/main/java/org/bonitasoft/web/rest/model/bpm/flownode/ITaskItem.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (C) 2013 BonitaSoft S.A.
3 | * BonitaSoft, 32 rue Gustave Eiffel - 38000 Grenoble
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 2.0 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | */
17 | package org.bonitasoft.web.rest.model.bpm.flownode;
18 |
19 | /**
20 | * @author Séverin Moussel
21 | *
22 | */
23 | public interface ITaskItem extends IActivityItem {
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/server/src/main/java/org/bonitasoft/web/toolkit/client/data/item/attribute/modifier/Modifier.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (C) 2011 BonitaSoft S.A.
3 | * BonitaSoft, 32 rue Gustave Eiffel - 38000 Grenoble
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 2.0 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | */
17 | package org.bonitasoft.web.toolkit.client.data.item.attribute.modifier;
18 |
19 | /**
20 | * @author Séverin Moussel
21 | *
22 | */
23 | public class Modifier {
24 | }
25 |
--------------------------------------------------------------------------------
/server/src/main/java/org/bonitasoft/web/rest/model/bpm/flownode/IUserTaskItem.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (C) 2013 BonitaSoft S.A.
3 | * BonitaSoft, 32 rue Gustave Eiffel - 38000 Grenoble
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 2.0 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | */
17 | package org.bonitasoft.web.rest.model.bpm.flownode;
18 |
19 |
20 | /**
21 | * @author Séverin Moussel
22 | *
23 | */
24 | public interface IUserTaskItem extends IHumanTaskItem {
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/server/src/main/java/org/bonitasoft/web/toolkit/client/common/json/JsonSerializable.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (C) 2011 BonitaSoft S.A.
3 | * BonitaSoft, 32 rue Gustave Eiffel - 38000 Grenoble
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 2.0 of the License, or
7 | * (at your option) any later version.
8 | * This program is distributed in the hope that it will be useful,
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 | * GNU General Public License for more details.
12 | * You should have received a copy of the GNU General Public License
13 | * along with this program. If not, see .
14 | */
15 | package org.bonitasoft.web.toolkit.client.common.json;
16 |
17 | /**
18 | *
19 | * @author Séverin Moussel
20 | *
21 | */
22 | public interface JsonSerializable {
23 |
24 | String toJson();
25 | }
26 |
--------------------------------------------------------------------------------
/server/src/main/java/org/bonitasoft/console/common/server/page/VersionedClassloader.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (C) 2015 Bonitasoft S.A.
3 | * Bonitasoft, 32 rue Gustave Eiffel - 38000 Grenoble
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 2.0 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | */
17 | package org.bonitasoft.console.common.server.page;
18 |
19 |
20 | public interface VersionedClassloader {
21 |
22 | String getVersion();
23 |
24 | boolean hasVersion(String version);
25 | }
26 |
--------------------------------------------------------------------------------
/server/src/main/java/org/bonitasoft/console/common/server/login/credentials/Credentials.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (C) 2012 BonitaSoft S.A.
3 | * BonitaSoft, 32 rue Gustave Eiffel - 38000 Grenoble
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 2.0 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | */
17 | package org.bonitasoft.console.common.server.login.credentials;
18 |
19 | /**
20 | * @author Vincent Elcrin
21 | *
22 | */
23 | public interface Credentials {
24 |
25 | String getName();
26 |
27 | String getPassword();
28 | }
29 |
--------------------------------------------------------------------------------
/server/src/test/resources/test.po:
--------------------------------------------------------------------------------
1 | msgid ""
2 | msgstr ""
3 | "Project-Id-Version: bonita-bpm-60\n"
4 | "POT-Creation-Date: 2013-06-07 14:58+0100\n"
5 | "PO-Revision-Date: 2013-06-07 14:58+0100\n"
6 | "Last-Translator: \n"
7 | "Language-Team: English\n"
8 | "Language: en_US\n"
9 | "MIME-Version: 1.0\n"
10 | "Content-Type: text/plain; charset=UTF-8\n"
11 | "Content-Transfer-Encoding: 8bit\n"
12 | "X-Generator: Poedit 1.5.5\n"
13 | "X-Poedit-KeywordsList: _;gettext;gettext_noop\n"
14 | "X-Poedit-Basepath: .\n"
15 | "X-Poedit-SourceCharset: UTF-8\n"
16 | "Plural-Forms: nplurals=2; plural=(n != 1);\n"
17 | "X-Poedit-SearchPath-0: common\n"
18 | "X-Poedit-SearchPath-1: console\n"
19 | "X-Poedit-SearchPath-2: platform\n"
20 | "X-Poedit-SearchPath-3: toolkit\n"
21 |
22 | #: toolkit/toolkit-view/src/main/java/org/bonitasoft/web/toolkit/client/ui/page/SupportCodePage.java:42
23 | msgid ""
24 | "Multiline\n"
25 | "Message\n"
26 | "Id"
27 | msgstr ""
28 | "This is a multilines\n"
29 | "Message"
30 |
31 | #: toolkit/toolkit-view/src/main/java/org/bonitasoft/web/toolkit/client/ui/page/SupportCodePage.java:43
32 | msgid "theId"
33 | msgstr "theMsg"
34 |
--------------------------------------------------------------------------------
/server/src/main/java/org/bonitasoft/web/rest/server/api/bpm/process/ProcessContractResourceFinder.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (C) 2015 BonitaSoft S.A.
3 | * BonitaSoft is a trademark of BonitaSoft SA.
4 | * This software file is BONITASOFT CONFIDENTIAL. Not For Distribution.
5 | * For commercial licensing information, contact:
6 | * BonitaSoft, 32 rue Gustave Eiffel – 38000 Grenoble
7 | * or BonitaSoft US, 51 Federal Street, Suite 305, San Francisco, CA 94107
8 | **/
9 |
10 | package org.bonitasoft.web.rest.server.api.bpm.process;
11 |
12 | import org.bonitasoft.engine.api.ProcessAPI;
13 | import org.bonitasoft.web.rest.server.ResourceFinder;
14 | import org.restlet.Request;
15 | import org.restlet.Response;
16 | import org.restlet.resource.ServerResource;
17 |
18 | /**
19 | * @author Baptiste Mesta
20 | */
21 | public class ProcessContractResourceFinder extends ResourceFinder {
22 |
23 | @Override
24 | public ServerResource create(final Request request, final Response response) {
25 | final ProcessAPI processAPI = getProcessAPI(request);
26 | return new ProcessContractResource(processAPI);
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/server/src/main/java/org/bonitasoft/web/rest/server/api/form/FormMappingResourceFinder.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (C) 2015 BonitaSoft S.A.
3 | * BonitaSoft is a trademark of BonitaSoft SA.
4 | * This software file is BONITASOFT CONFIDENTIAL. Not For Distribution.
5 | * For commercial licensing information, contact:
6 | * BonitaSoft, 32 rue Gustave Eiffel – 38000 Grenoble
7 | * or BonitaSoft US, 51 Federal Street, Suite 305, San Francisco, CA 94107
8 | **/
9 |
10 | package org.bonitasoft.web.rest.server.api.form;
11 |
12 | import org.bonitasoft.engine.api.ProcessAPI;
13 | import org.bonitasoft.web.rest.server.ResourceFinder;
14 | import org.restlet.Request;
15 | import org.restlet.Response;
16 | import org.restlet.resource.ServerResource;
17 |
18 | /**
19 | * @author Baptiste Mesta
20 | */
21 | public class FormMappingResourceFinder extends ResourceFinder {
22 |
23 | @Override
24 | public ServerResource create(final Request request, final Response response) {
25 | final ProcessAPI processConfigurationAPI = getProcessAPI(request);
26 | return new FormMappingResource(processConfigurationAPI);
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/server/src/main/java/org/bonitasoft/web/rest/server/api/bpm/flownode/UserTaskContractResourceFinder.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (C) 2015 BonitaSoft S.A.
3 | * BonitaSoft is a trademark of BonitaSoft SA.
4 | * This software file is BONITASOFT CONFIDENTIAL. Not For Distribution.
5 | * For commercial licensing information, contact:
6 | * BonitaSoft, 32 rue Gustave Eiffel – 38000 Grenoble
7 | * or BonitaSoft US, 51 Federal Street, Suite 305, San Francisco, CA 94107
8 | **/
9 |
10 | package org.bonitasoft.web.rest.server.api.bpm.flownode;
11 |
12 | import org.bonitasoft.engine.api.ProcessAPI;
13 | import org.bonitasoft.web.rest.server.ResourceFinder;
14 | import org.restlet.Request;
15 | import org.restlet.Response;
16 | import org.restlet.resource.ServerResource;
17 |
18 | /**
19 | * @author Baptiste Mesta
20 | */
21 | public class UserTaskContractResourceFinder extends ResourceFinder {
22 |
23 | @Override
24 | public ServerResource create(final Request request, final Response response) {
25 | final ProcessAPI processAPI = getProcessAPI(request);
26 | return new UserTaskContractResource(processAPI);
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/bonita-integration-tests-web/src/main/java/org/bonitasoft/test/toolkit/bpm/TestActor.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (C) 2012 BonitaSoft S.A.
3 | * BonitaSoft, 32 rue Gustave Eiffel - 38000 Grenoble
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 2.0 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | */
17 | package org.bonitasoft.test.toolkit.bpm;
18 |
19 | /**
20 | * @author Vincent Elcrin
21 | *
22 | */
23 | public interface TestActor {
24 |
25 | /**
26 | * Id used by the process to define the actor
27 | */
28 | long getId();
29 | }
30 |
--------------------------------------------------------------------------------
/server/src/main/java/org/bonitasoft/web/rest/server/api/bpm/flownode/TimerEventTriggerResourceFinder.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (C) 2015 BonitaSoft S.A.
3 | * BonitaSoft is a trademark of BonitaSoft SA.
4 | * This software file is BONITASOFT CONFIDENTIAL. Not For Distribution.
5 | * For commercial licensing information, contact:
6 | * BonitaSoft, 32 rue Gustave Eiffel – 38000 Grenoble
7 | * or BonitaSoft US, 51 Federal Street, Suite 305, San Francisco, CA 94107
8 | **/
9 |
10 | package org.bonitasoft.web.rest.server.api.bpm.flownode;
11 |
12 | import org.bonitasoft.engine.api.ProcessAPI;
13 | import org.bonitasoft.web.rest.server.ResourceFinder;
14 | import org.restlet.Request;
15 | import org.restlet.Response;
16 | import org.restlet.resource.ServerResource;
17 |
18 | /**
19 | * @author Baptiste Mesta
20 | */
21 | public class TimerEventTriggerResourceFinder extends ResourceFinder {
22 |
23 | @Override
24 | public ServerResource create(final Request request, final Response response) {
25 | final ProcessAPI processAPI = getProcessAPI(request);
26 | return new TimerEventTriggerResource(processAPI);
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/server/src/main/java/org/bonitasoft/web/rest/server/api/bpm/flownode/UserTaskContextResourceFinder.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (C) 2015 BonitaSoft S.A.
3 | * BonitaSoft is a trademark of BonitaSoft SA.
4 | * This software file is BONITASOFT CONFIDENTIAL. Not For Distribution.
5 | * For commercial licensing information, contact:
6 | * BonitaSoft, 32 rue Gustave Eiffel – 38000 Grenoble
7 | * or BonitaSoft US, 51 Federal Street, Suite 305, San Francisco, CA 94107
8 | **/
9 |
10 | package org.bonitasoft.web.rest.server.api.bpm.flownode;
11 |
12 | import org.bonitasoft.engine.api.ProcessAPI;
13 | import org.bonitasoft.web.rest.server.ResourceFinder;
14 | import org.restlet.Request;
15 | import org.restlet.Response;
16 | import org.restlet.resource.ServerResource;
17 |
18 | /**
19 | * @author Baptiste Mesta
20 | */
21 | public class UserTaskContextResourceFinder extends ResourceFinder {
22 |
23 | @Override
24 | public ServerResource create(final Request request, final Response response) {
25 | final ProcessAPI processAPI = getProcessAPI(request);
26 | return new UserTaskContextResource(processAPI, getFinderFactory());
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/server/src/main/java/org/bonitasoft/web/rest/server/api/bpm/process/ProcessDefinitionDesignResourceFinder.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (C) 2015 BonitaSoft S.A.
3 | * BonitaSoft is a trademark of BonitaSoft SA.
4 | * This software file is BONITASOFT CONFIDENTIAL. Not For Distribution.
5 | * For commercial licensing information, contact:
6 | * BonitaSoft, 32 rue Gustave Eiffel – 38000 Grenoble
7 | * or BonitaSoft US, 51 Federal Street, Suite 305, San Francisco, CA 94107
8 | **/
9 |
10 | package org.bonitasoft.web.rest.server.api.bpm.process;
11 |
12 | import org.bonitasoft.engine.api.ProcessAPI;
13 | import org.bonitasoft.web.rest.server.ResourceFinder;
14 | import org.restlet.Request;
15 | import org.restlet.Response;
16 | import org.restlet.resource.ServerResource;
17 |
18 | /**
19 | * @author Baptiste Mesta
20 | */
21 | public class ProcessDefinitionDesignResourceFinder extends ResourceFinder {
22 |
23 | @Override
24 | public ServerResource create(final Request request, final Response response) {
25 | final ProcessAPI processAPI = getProcessAPI(request);
26 | return new ProcessDefinitionDesignResource(processAPI);
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/server/src/main/java/org/bonitasoft/web/rest/server/framework/api/APIHasAdd.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (C) 2012 BonitaSoft S.A.
3 | * BonitaSoft, 32 rue Gustave Eiffel - 38000 Grenoble
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 2.0 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | */
17 | package org.bonitasoft.web.rest.server.framework.api;
18 |
19 | import org.bonitasoft.web.toolkit.client.data.item.IItem;
20 |
21 | /**
22 | * @author Séverin Moussel
23 | *
24 | */
25 | public interface APIHasAdd {
26 |
27 | T add(final T item);
28 | }
29 |
--------------------------------------------------------------------------------
/server/src/main/java/org/bonitasoft/web/toolkit/client/data/item/template/ItemHasIcon.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (C) 2012 BonitaSoft S.A.
3 | * BonitaSoft, 32 rue Gustave Eiffel - 38000 Grenoble
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 2.0 of the License, or
7 | * (at your option) any later version.
8 | * This program is distributed in the hope that it will be useful,
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 | * GNU General Public License for more details.
12 | * You should have received a copy of the GNU General Public License
13 | * along with this program. If not, see .
14 | */
15 | package org.bonitasoft.web.toolkit.client.data.item.template;
16 |
17 | /**
18 | * @author Séverin Moussel
19 | */
20 | public interface ItemHasIcon {
21 |
22 | String ATTRIBUTE_ICON = "icon";
23 |
24 | String getIcon();
25 |
26 | void setIcon(String icon);
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/server/src/main/java/org/bonitasoft/web/rest/server/api/bpm/flownode/APIFlowNode.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (C) 2013 BonitaSoft S.A.
3 | * BonitaSoft, 32 rue Gustave Eiffel - 38000 Grenoble
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 2.0 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | */
17 | package org.bonitasoft.web.rest.server.api.bpm.flownode;
18 |
19 | import org.bonitasoft.web.rest.model.bpm.flownode.FlowNodeItem;
20 |
21 | /**
22 | * @author Séverin Moussel
23 | *
24 | */
25 | public class APIFlowNode extends AbstractAPIFlowNode {
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/server/src/main/java/org/bonitasoft/web/rest/server/api/bpm/flownode/APIUserTask.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (C) 2013 BonitaSoft S.A.
3 | * BonitaSoft, 32 rue Gustave Eiffel - 38000 Grenoble
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 2.0 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | */
17 | package org.bonitasoft.web.rest.server.api.bpm.flownode;
18 |
19 | import org.bonitasoft.web.rest.model.bpm.flownode.UserTaskItem;
20 |
21 | /**
22 | * @author Séverin Moussel
23 | *
24 | */
25 | public class APIUserTask extends AbstractAPIUserTask {
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/server/src/main/java/org/bonitasoft/web/rest/server/datastore/converter/ValueConverter.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (C) 2012 BonitaSoft S.A.
3 | * BonitaSoft, 32 rue Gustave Eiffel - 38000 Grenoble
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 2.0 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | */
17 | package org.bonitasoft.web.rest.server.datastore.converter;
18 |
19 | import java.io.Serializable;
20 |
21 | /**
22 | * @author Vincent Elcrin
23 | *
24 | */
25 | public interface ValueConverter {
26 |
27 | V convert(String value);
28 | }
29 |
--------------------------------------------------------------------------------
/server/src/main/java/org/bonitasoft/livingapps/menu/MenuContainer.java:
--------------------------------------------------------------------------------
1 | package org.bonitasoft.livingapps.menu;
2 |
3 | import java.util.List;
4 |
5 | import org.bonitasoft.engine.business.application.ApplicationMenu;
6 |
7 |
8 | public class MenuContainer implements Menu {
9 |
10 | private final ApplicationMenu menu;
11 |
12 | private final List