<?xml version="1.0" encoding="UTF-8"?>
<!--

    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with
    this work for additional information regarding copyright ownership.
    The ASF licenses this file to You under the Apache License, Version 2.0
    (the "License"); you may not use this file except in compliance with
    the License.  You may obtain a copy of the License at

         http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.

-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-box-parent</artifactId>
        <version>3.14.2</version>
    </parent>

    <artifactId>camel-box</artifactId>
    <packaging>jar</packaging>
    <name>Camel :: Box :: Component</name>
    <description>Camel Box component</description>

    <properties>
        <schemeName>box</schemeName>
        <componentName>Box</componentName>
        <componentPackage>org.apache.camel.component.box</componentPackage>
        <outPackage>org.apache.camel.component.box.internal</outPackage>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.apache.camel</groupId>
            <artifactId>camel-support</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.camel</groupId>
            <artifactId>camel-box-api</artifactId>
        </dependency>

        <dependency>
            <groupId>com.box</groupId>
            <artifactId>box-java-sdk</artifactId>
            <version>${box-java-sdk-version}</version>
        </dependency>

        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
            <version>${httpclient4-version}</version>
        </dependency>


        <dependency>
            <groupId>org.jsoup</groupId>
            <artifactId>jsoup</artifactId>
            <version>${jsoup-version}</version>
        </dependency>

        <!-- logging -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-slf4j-impl</artifactId>
            <scope>test</scope>
        </dependency>

        <!-- testing -->
        <dependency>
            <groupId>org.apache.camel</groupId>
            <artifactId>camel-test-junit5</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-junit-jupiter</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-inline</artifactId>
            <version>${mockito-version}</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <defaultGoal>install</defaultGoal>

        <plugins>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <!-- Avoid 'bootstrap classpath has been appended' error message caused by mockito-inline -->
                    <argLine>-Xshare:off</argLine>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.camel</groupId>
                <artifactId>camel-api-component-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <id>generate-test-component-classes</id>
                        <goals>
                            <goal>fromApis</goal>
                        </goals>
                        <configuration>
                            <apis>
                                <api>
                                    <apiName>collaborations</apiName>
                                    <proxyClass>org.apache.camel.component.box.api.BoxCollaborationsManager</proxyClass>
                                    <fromJavasource />
                                    <producerOnly>true</producerOnly>
                                    <aliases>
                                        <alias>
                                            <methodPattern>addFolderCollaboration</methodPattern>
                                            <methodAlias>add</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>addFolderCollaborationByEmail</methodPattern>
                                            <methodAlias>addByEmail</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>deleteCollaboration</methodPattern>
                                            <methodAlias>delete</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getFolderCollaborations</methodPattern>
                                            <methodAlias>collaborations</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getPendingCollaborations</methodPattern>
                                            <methodAlias>pendingCollaborations</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getCollaborationInfo</methodPattern>
                                            <methodAlias>info</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>updateCollaborationInfo</methodPattern>
                                            <methodAlias>updateInfo</methodAlias>
                                        </alias>
                                    </aliases>
                                </api>
                                <api>
                                    <apiName>comments</apiName>
                                    <proxyClass>org.apache.camel.component.box.api.BoxCommentsManager</proxyClass>
                                    <fromJavasource />
                                    <producerOnly>true</producerOnly>
                                    <aliases>
                                        <alias>
                                            <methodPattern>addFileComment</methodPattern>
                                            <methodAlias>add</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>changeCommentMessage</methodPattern>
                                            <methodAlias>updateMessage</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>deleteComment</methodPattern>
                                            <methodAlias>delete</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getCommentInfo</methodPattern>
                                            <methodAlias>info</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getFileComments</methodPattern>
                                            <methodAlias>comments</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>replyToComment</methodPattern>
                                            <methodAlias>reply</methodAlias>
                                        </alias>
                                    </aliases>
                                </api>
                                <api>
                                    <apiName>event-logs</apiName>
                                    <proxyClass>org.apache.camel.component.box.api.BoxEventLogsManager</proxyClass>
                                    <fromJavasource />
                                    <producerOnly>true</producerOnly>
                                    <aliases>
                                        <alias>
                                            <methodPattern>getEnterpriseEvents</methodPattern>
                                            <methodAlias>events</methodAlias>
                                        </alias>
                                    </aliases>
                                    <nullableOptions>
                                        <nullableOption>position</nullableOption>
                                        <nullableOption>types</nullableOption>
                                    </nullableOptions>
                                </api>
                                <api>
                                    <apiName>files</apiName>
                                    <proxyClass>org.apache.camel.component.box.api.BoxFilesManager</proxyClass>
                                    <fromJavasource />
                                    <producerOnly>true</producerOnly>
                                    <aliases>
                                        <alias>
                                            <methodPattern>uploadFile</methodPattern>
                                            <methodAlias>upload</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>downloadFile</methodPattern>
                                            <methodAlias>download</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>copyFile</methodPattern>
                                            <methodAlias>copy</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>moveFile</methodPattern>
                                            <methodAlias>move</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>renameFile</methodPattern>
                                            <methodAlias>rename</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>createFileSharedLink</methodPattern>
                                            <methodAlias>link</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>deleteFile</methodPattern>
                                            <methodAlias>delete</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>uploadNewFileVersion</methodPattern>
                                            <methodAlias>uploadVersion</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>promoteFileVersion</methodPattern>
                                            <methodAlias>promoteVersion</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getFileVersions</methodPattern>
                                            <methodAlias>versions</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>downloadPreviousFileVersion</methodPattern>
                                            <methodAlias>downloadVersion</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>deleteFileVersion</methodPattern>
                                            <methodAlias>deleteVersion</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getFileInfo</methodPattern>
                                            <methodAlias>info</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>updateFileInfo</methodPattern>
                                            <methodAlias>updateInfo</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>createFileMetadata</methodPattern>
                                            <methodAlias>createMetadata</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getFileMetadata</methodPattern>
                                            <methodAlias>metadata</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>updateFileMetadata</methodPattern>
                                            <methodAlias>updateMetadata</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>deleteFileMetadata</methodPattern>
                                            <methodAlias>deleteMetadata</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getDownloadUrl</methodPattern>
                                            <methodAlias>url</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getPreviewLink</methodPattern>
                                            <methodAlias>preview</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getFileThumbnail</methodPattern>
                                            <methodAlias>thumbnail</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>checkUpload</methodPattern>
                                            <methodAlias>canUpload</methodAlias>
                                        </alias>
                                    </aliases>
                                    <nullableOptions>
                                        <nullableOption>fields</nullableOption>
                                        <nullableOption>created</nullableOption>
                                        <nullableOption>modified</nullableOption>
                                        <nullableOption>size</nullableOption>
                                        <nullableOption>fileSize</nullableOption>
                                        <nullableOption>rangeStart</nullableOption>
                                        <nullableOption>rangeEnd</nullableOption>
                                        <nullableOption>listener</nullableOption>
                                        <nullableOption>fileSize</nullableOption>
                                        <nullableOption>newName</nullableOption>
                                        <nullableOption>unshareDate</nullableOption>
                                        <nullableOption>permissions</nullableOption>
                                        <nullableOption>typeName</nullableOption>
                                        <nullableOption>check</nullableOption>
                                    </nullableOptions>
                                </api>
                                <api>
                                    <apiName>folders</apiName>
                                    <proxyClass>org.apache.camel.component.box.api.BoxFoldersManager</proxyClass>
                                    <producerOnly>true</producerOnly>
                                    <fromJavasource />
                                    <aliases>
                                        <alias>
                                            <methodPattern>getRootFolder</methodPattern>
                                            <methodAlias>root</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>createFolder</methodPattern>
                                            <methodAlias>create</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>copyFolder</methodPattern>
                                            <methodAlias>copy</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>moveFolder</methodPattern>
                                            <methodAlias>move</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>renameFolder</methodPattern>
                                            <methodAlias>rename</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>createFolderSharedLink</methodPattern>
                                            <methodAlias>link</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>deleteFolder</methodPattern>
                                            <methodAlias>delete</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getFolder</methodPattern>
                                            <methodAlias>folder</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getFolderInfo</methodPattern>
                                            <methodAlias>info</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getFolderItems</methodPattern>
                                            <methodAlias>items</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>updateFolderInfo</methodPattern>
                                            <methodAlias>updateInfo</methodAlias>
                                        </alias>
                                    </aliases>
                                    <nullableOptions>
                                        <nullableOption>offset</nullableOption>
                                        <nullableOption>limit</nullableOption>
                                        <nullableOption>fields</nullableOption>
                                        <nullableOption>newName</nullableOption>
                                    </nullableOptions>
                                </api>
                                <api>
                                    <apiName>groups</apiName>
                                    <proxyClass>org.apache.camel.component.box.api.BoxGroupsManager</proxyClass>
                                    <fromJavasource />
                                    <producerOnly>true</producerOnly>
                                    <aliases>
                                        <alias>
                                            <methodPattern>createGroup</methodPattern>
                                            <methodAlias>create</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>deleteGroup</methodPattern>
                                            <methodAlias>delete</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getAllGroups</methodPattern>
                                            <methodAlias>groups</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getGroupInfo</methodPattern>
                                            <methodAlias>info</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>addGroupMembership</methodPattern>
                                            <methodAlias>addMembership</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>deleteGroupMembership</methodPattern>
                                            <methodAlias>deleteMembership</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getGroupMemberships</methodPattern>
                                            <methodAlias>memberships</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getGroupMembershipInfo</methodPattern>
                                            <methodAlias>membershipInfo</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>updateGroupMembershipInfo</methodPattern>
                                            <methodAlias>updateMembershipInfo</methodAlias>
                                        </alias>
                                    </aliases>
                                    <nullableOptions>
                                        <nullableOption>role</nullableOption>
                                        <nullableOption>description</nullableOption>
                                        <nullableOption>provenance</nullableOption>
                                        <nullableOption>externalSyncIdentifier</nullableOption>
                                        <nullableOption>invitabilityLevel</nullableOption>
                                        <nullableOption>memberViewabilityLevel</nullableOption>
                                    </nullableOptions>
                                </api>
                                <api>
                                    <apiName>events</apiName>
                                    <proxyClass>org.apache.camel.component.box.api.BoxEventsManager</proxyClass>
                                    <fromJavasource>
                                        <excludeMethods>stopListening</excludeMethods>
                                    </fromJavasource>
                                    <consumerOnly>true</consumerOnly>
                                    <excludeConfigNames>listener</excludeConfigNames>
                                    <nullableOptions>
                                        <nullableOption>startingPosition</nullableOption>
                                    </nullableOptions>
                                </api>
                                <api>
                                    <apiName>search</apiName>
                                    <proxyClass>org.apache.camel.component.box.api.BoxSearchManager</proxyClass>
                                    <fromJavasource />
                                    <producerOnly>true</producerOnly>
                                    <aliases>
                                        <alias>
                                            <methodPattern>searchFolder</methodPattern>
                                            <methodAlias>search</methodAlias>
                                        </alias>
                                    </aliases>
                                </api>
                                <api>
                                    <apiName>tasks</apiName>
                                    <proxyClass>org.apache.camel.component.box.api.BoxTasksManager</proxyClass>
                                    <fromJavasource />
                                    <producerOnly>true</producerOnly>
                                    <aliases>
                                        <alias>
                                            <methodPattern>addFileTask</methodPattern>
                                            <methodAlias>add</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>deleteTask</methodPattern>
                                            <methodAlias>delete</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getFileTasks</methodPattern>
                                            <methodAlias>tasks</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getTaskInfo</methodPattern>
                                            <methodAlias>info</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>updateTaskInfo</methodPattern>
                                            <methodAlias>updateInfo</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>addAssignmentToTask</methodPattern>
                                            <methodAlias>addAssignment</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>deleteTaskAssignment</methodPattern>
                                            <methodAlias>deleteAssignment</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getTaskAssignments</methodPattern>
                                            <methodAlias>assignments</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getTaskAssignmentInfo</methodPattern>
                                            <methodAlias>assignmentInfo</methodAlias>
                                        </alias>
                                    </aliases>
                                    <nullableOptions>
                                        <nullableOption>message</nullableOption>
                                    </nullableOptions>
                                </api>
                                <api>
                                    <apiName>users</apiName>
                                    <proxyClass>org.apache.camel.component.box.api.BoxUsersManager</proxyClass>
                                    <fromJavasource />
                                    <producerOnly>true</producerOnly>
                                    <aliases>
                                        <alias>
                                            <methodPattern>getCurrentUser</methodPattern>
                                            <methodAlias>currentUser</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getAllEnterpriseOrExternalUsers</methodPattern>
                                            <methodAlias>users</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>createAppUser</methodPattern>
                                            <methodAlias>create</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>createEnterpriseUser</methodPattern>
                                            <methodAlias>create</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>deleteUser</methodPattern>
                                            <methodAlias>delete</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>addUserEmailAlias</methodPattern>
                                            <methodAlias>addEmailAlias</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getUserEmailAlias</methodPattern>
                                            <methodAlias>emailAlias</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>deleteUserEmailAlias</methodPattern>
                                            <methodAlias>deleteEmailAlias</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getUserInfo</methodPattern>
                                            <methodAlias>info</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>updateUserInfo</methodPattern>
                                            <methodAlias>updateInfo</methodAlias>
                                        </alias>
                                    </aliases>
                                    <nullableOptions>
                                        <nullableOption>filterTerm</nullableOption>
                                        <nullableOption>fields</nullableOption>
                                        <nullableOption>params</nullableOption>
                                    </nullableOptions>
                                </api>
                            </apis>
                            <!-- Specify global values for all APIs here, these are overridden at API level
                                 <substitutions />
                                 <excludeConfigNames />
                                 <excludeConfigTypes />
                                 <extraOptions>
                                 <fromJavasource />
                                 <aliases /> -->
                        </configuration>
                    </execution>
                </executions>
                <dependencies>
                    <!-- Component API javadoc in provided scope to read API signatures -->
                    <dependency>
                        <groupId>org.apache.camel</groupId>
                        <artifactId>camel-box-api</artifactId>
                        <version>${project.version}</version>
                        <classifier>sources</classifier>
                    </dependency>
                    <!-- Component API javadoc in provided scope to read API signatures -->
                    <dependency>
                        <groupId>com.box</groupId>
                        <artifactId>box-java-sdk</artifactId>
                        <version>${box-java-sdk-version}</version>
                        <classifier>sources</classifier>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>

        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.camel</groupId>
                    <artifactId>camel-api-component-maven-plugin</artifactId>
                    <version>${project.version}</version>
                    <configuration>
                        <scheme>${schemeName}</scheme>
                        <componentName>${componentName}</componentName>
                        <componentPackage>${componentPackage}</componentPackage>
                        <outPackage>${outPackage}</outPackage>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>

    </build>

</project>
