Source code:

Please download the latest source code from Github:

https://github.com/gabag30/publicContent

Description:

Simple Java project that provides some code samples for how to perform the process for the registration of some Priority documents in java.

The project structure is as follow :


In the config folder:


there you'll find the sample config.properties file for the project:

pemFile=./src/main/resources/ibpct1_acc_es256_private.pem
log4jConfigPath=./src/main/resources/log4j.xml
issuer=https://www5.wipo.int/am/oauth2
audience=https://www5.wipo.int/am/oauth2/access_token
clientId=das-ib-pct1-api-id
scope=das-api/office-exchange
url=https://das-api.das.ipobs.acc.web1.wipo.int/das-api/v1/requests
columnFileId=9
columnRegistered=10
columnAckId=11

In the sample project, there will be also the test.csv file (see bellow) and a sample pdf file for testing the uploads .

The test.csv file, contains the information of the list of files that we will use for the test of the registration (please update the information of the as indicated by the columns of the csv file:

"file_reference","file_location","application_number","application_date","priority_number","priority_date","document_category","application_category","das_code","file_id","registered"
"test_14","config/PCT_IB2022_052028.pdf","PCT/IB2022/052028","2022-03-08","PCT/IB2021/057865","2021-08-27","patent","priority document","AB21","","",""
"test_15","config/PCT_IB2022_052028.pdf","PCT/IB2022/052029","2022-03-08","PCT/IB2021/057866","2021-08-27","patent","priority document","AB21","","",""
"test_16","config/PCT_IB2022_052028.pdf","PCT/IB2022/052030","2022-03-08","PCT/IB2021/057867","2021-08-27","patent","priority document","AB21","","",""
"test_17","config/PCT_IB2022_052028.pdf","PCT/IB2022/052031","2022-03-08","PCT/IB2021/057868","2021-08-27","patent","priority document","AB21","","",""


The empty fields at the end, will be updated with the information coming from DAS, by the end of the process. Please see at the end the final file.

The logs folder:

There you will find the logs (format configured in the log4j.xml file, see bellow).

2023-04-13 12:11:03 INFO  ConfigManager:39 - Going to retrieve the access token from the oauth server
2023-04-13 12:11:03 INFO  ConfigManager:137 - ---------------------------------
2023-04-13 12:11:03 INFO  ConfigManager:138 - JWT Assertion eyJhbGciOiJFUzI1NiJ9.eyJpc3MiOiJkYXMtaWItcGN0MS1hcGktaWQiLCJzdWIiOiJkYXMtaWItcGN0MS1hcGktaWQiLCJhdWQiOiJodHRwczpcL1wvd3d3NS53aXBvLmludFwvYW1cL29hdXRoMlwvYWNjZXNzX3Rva2VuIiwiZXhwIjoxNjgxMzg4ODYzfQ.WffwONT75lIEi3vH8yuzsHbhT7Kzr-13m4mbV698GEwPgsF4Meie4dpd_OYLdAlVRnt6wFr20a6qu_VrELuKgA
2023-04-13 12:11:03 INFO  ConfigManager:139 - ---------------------------------
2023-04-13 12:11:04 INFO  ConfigManager:145 - Access token: eyJ0eXAiOiJKV1QiLCJraWQiOiI3bEhXSFovZ1h6ajJ4WFdBcXFQMVRIUDdHZzA9IiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiJkYXMtaWItcGN0MS1hcGktaWQiLCJjdHMiOiJPQVVUSDJfU1RBVEVMRVNTX0dSQU5UIiwiYXVkaXRUcmFja2luZ0lkIjoiODhjOTIwMjItZTc0Zi00YmIwLWIxZWItZWVmNDVlMzhmM2VkLTE5MjUyMDAiLCJpc3MiOiJodHRwczovL3d3dzUud2lwby5pbnQvYW0vb2F1dGgyIiwidG9rZW5OYW1lIjoiYWNjZXNzX3Rva2VuIiwidG9rZW5fdHlwZSI6IkJlYXJlciIsImF1dGhHcmFudElkIjoiRzZKX2RRTVpJZ3RTMjR6eGI0d2RpakZlSTMwIiwiYXVkIjoiZGFzLWliLXBjdDEtYXBpLWlkIiwibmJmIjoxNjgxMzg3ODY0LCJncmFudF90eXBlIjoiY2xpZW50X2NyZWRlbnRpYWxzIiwic2NvcGUiOlsiZGFzLWFwaS9vZmZpY2UtZXhjaGFuZ2UiXSwiYXV0aF90aW1lIjoxNjgxMzg3ODY0LCJyZWFsbSI6Ii8iLCJleHAiOjE2ODEzOTE0NjQsImlhdCI6MTY4MTM4Nzg2NCwiZXhwaXJlc19pbiI6MzYwMCwianRpIjoiSUU2dFNfWVZ3NjVMQU5SSENLbVdoWS10S004In0.TOVTvuuYP5cJUZ7qWj_9GReS4qiRjjFAKm5C5rkYhT4I1W_4JriADVNVGes0kcY5bIprtyO1IxhOKdCeT15nw45ga_mdmyLiOrqW64xIbZE0Of-pEya4dpFoFGv0nSFQ9bjUpqqve0L4ZKdyaX28TAlCbFg0Y4kPIiUcMayYgVTYezALk2rdQB5TIz8dTtBQ6oal4xLpCiv10DwA6j08XQCfctmjuV6UTrsf4xOK3AWokxJ3bCOtsowV-PcqSIuT07HqrLyU3pDUIiBmjAMSFeHRC0YuvoldTTtvnHZw8881ESHkuz-U56WvEEZA7zT5jNK88WtetYU7fcK0sFeAsA
2023-04-13 12:11:04 INFO  ConfigManager:146 - ---------------------------------
2023-04-13 12:11:04 INFO  ConfigManager:147 - Expires in: 3599 secondes.
2023-04-13 12:11:04 INFO  ConfigManager:148 - ---------------------------------
2023-04-13 12:11:04 INFO  ConfigManager:46 - Authorization token retrieved successfully.
2023-04-13 12:11:04 INFO  ConfigManager:69 - File 'test_14' already registered.
2023-04-13 12:11:04 INFO  ConfigManager:69 - File 'test_15' already registered.
2023-04-13 12:11:04 INFO  ConfigManager:69 - File 'test_16' already registered.
2023-04-13 12:11:04 INFO  ConfigManager:69 - File 'test_17' already registered.
2023-04-13 12:11:38 INFO  ConfigManager:39 - Going to retrieve the access token from the oauth server
2023-04-13 12:11:39 INFO  ConfigManager:137 - ---------------------------------
2023-04-13 12:11:39 INFO  ConfigManager:138 - JWT Assertion eyJhbGciOiJFUzI1NiJ9.eyJpc3MiOiJkYXMtaWItcGN0MS1hcGktaWQiLCJzdWIiOiJkYXMtaWItcGN0MS1hcGktaWQiLCJhdWQiOiJodHRwczpcL1wvd3d3NS53aXBvLmludFwvYW1cL29hdXRoMlwvYWNjZXNzX3Rva2VuIiwiZXhwIjoxNjgxMzg4ODk5fQ.lhydJpREhGg7d8w0cgQCzui3b6Ii9ppiUmRj3eVrl6FeYeQZ1pZl2ooGD_EGkCWF6DdbVY5s6Fz0-HYlB1aRJQ
2023-04-13 12:11:39 INFO  ConfigManager:139 - ---------------------------------
2023-04-13 12:11:39 INFO  ConfigManager:145 - Access token: eyJ0eXAiOiJKV1QiLCJraWQiOiI3bEhXSFovZ1h6ajJ4WFdBcXFQMVRIUDdHZzA9IiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiJkYXMtaWItcGN0MS1hcGktaWQiLCJjdHMiOiJPQVVUSDJfU1RBVEVMRVNTX0dSQU5UIiwiYXVkaXRUcmFja2luZ0lkIjoiODhjOTIwMjItZTc0Zi00YmIwLWIxZWItZWVmNDVlMzhmM2VkLTE5MjUzNTAiLCJpc3MiOiJodHRwczovL3d3dzUud2lwby5pbnQvYW0vb2F1dGgyIiwidG9rZW5OYW1lIjoiYWNjZXNzX3Rva2VuIiwidG9rZW5fdHlwZSI6IkJlYXJlciIsImF1dGhHcmFudElkIjoiYVVNdkZEUDE1dndScEtwS1k0ZXBmSFZmdXpNIiwiYXVkIjoiZGFzLWliLXBjdDEtYXBpLWlkIiwibmJmIjoxNjgxMzg3ODk5LCJncmFudF90eXBlIjoiY2xpZW50X2NyZWRlbnRpYWxzIiwic2NvcGUiOlsiZGFzLWFwaS9vZmZpY2UtZXhjaGFuZ2UiXSwiYXV0aF90aW1lIjoxNjgxMzg3ODk5LCJyZWFsbSI6Ii8iLCJleHAiOjE2ODEzOTE0OTksImlhdCI6MTY4MTM4Nzg5OSwiZXhwaXJlc19pbiI6MzYwMCwianRpIjoiTW5IQTIyQ1dwZnFjU2pVOU9hWGNSa2xLSWFVIn0.tKYs-igYFqVSl5VVW1n2jLcGy5ebxgqY0t-cH84ot1GZqnJTE6kkgaGtjAJ_0DdgrsQAhgEh3Ws7j4klpDtGx9oLoX76xT4GWfEo1SZqbRDZ8b0VLgzMiUp5_pnV64Q1d9g6d3rWGNJ6Q73Kbks9SXv18dev8AIAQ4oI1aJ87NrZnEwarepRoBmwUuNjbf6oWWcBg6wOgUrKQnHFauOGZ4i1FFaTcJy3oiFmTUgMvYbO1kiu4m5m0qrk4jvQ-sKUABn3YkR6ph2-BDM8rt_4lA9eNIEgiaqVoFPkoi7wQCWcWsE34yntPUVreAf3KW90NaZ4VEdvRy6IclGtQtUwKg
2023-04-13 12:11:39 INFO  ConfigManager:146 - ---------------------------------
2023-04-13 12:11:39 INFO  ConfigManager:147 - Expires in: 3599 secondes.
2023-04-13 12:11:39 INFO  ConfigManager:148 - ---------------------------------
2023-04-13 12:11:39 INFO  ConfigManager:46 - Authorization token retrieved successfully.
2023-04-13 12:11:39 INFO  ConfigManager:74 - Processing fileReference: test_14
2023-04-13 12:11:39 INFO  ConfigManager:76 - SHA-256 checksum: cda2970d8686b60c45166776669ddfa95da2ea77f1457ee4227b5a93e1f320ec
2023-04-13 12:11:39 INFO  ConfigManager:36 - Obtaining file ID and upload URL...
2023-04-13 12:12:00 WARN  ConfigManager:89 - Got fileId: 0a12e7fc-3064-4e72-b887-fc9ad989fb04
2023-04-13 12:12:00 WARN  ConfigManager:90 - Got uploadUrl: https://das-upload-eu-central-1-329803703153.s3.eu-central-1.amazonaws.com/das-ib-pct1/0a12e7fc-3064-4e72-b887-fc9ad989fb04.pdf?Content-Type=application%2Fpdf&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAUZSOVENY5X5ARI3U%2F20230413%2Feu-central-1%2Fs3%2Faws4_request&X-Amz-Date=20230413T121200Z&X-Amz-Expires=900&X-Amz-Security-Token=FwoGZXIvYXdzEP7%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaDOlejtCnKYFI25s6MiLAAYZkY4IiHRUWPZ4JujKBoS4TcX1XRlWml3VNB3Xe2yQ%2BOvcglDXcuAkyqnKEoE4W0dweYeh%2FmOpyxNlOQfV2SlT0MTbdQHtdcOU11xYIg4aVxX3D4IaGf6y8jZc3nFQYHmh4G4nmPhFlFvFoKMx85zhhp3hMj3MJZPCqYAB7x1P%2FUwHcJLFeYjVJHsblQG52RkWr1UuL7JRHDjdFyjT3KKBiL2Y%2FlrshsFO51zj842yYN3C%2FHUisRGymjfTl6mSrEyiP49%2BhBjItGQKwKbeCC8eP7e4Ac8j4Oqn%2FUwrK3dngDo6SDsSevP7SKBgbva97vuzjwDY4&X-Amz-Signature=0764d2ee6ccca40f864e955b89ae42b059cb06863c00e245edeb03431366a850&X-Amz-SignedHeaders=host
2023-04-13 12:12:00 INFO  ConfigManager:93 - going to upload the file 
2023-04-13 12:12:00 INFO  ConfigManager:32 - uploading file...
2023-04-13 12:12:01 WARN  ConfigManager:168 - File uploaded successfully!
2023-04-13 12:12:01 INFO  ConfigManager:95 - File uploaded successfully!, continue for registration
2023-04-13 12:12:01 INFO  ConfigManager:26 - Checking file status...
2023-04-13 12:12:20 INFO  ConfigManager:46 - {"fileReference":"test_14","fileFormatCategory":"pdf","fileChecksum":"cda2970d8686b60c45166776669ddfa95da2ea77f1457ee4227b5a93e1f320ec","fileDateTime":"2023-04-13T12:12:00.208Z","fileStatusCategory":null,"error":null}
2023-04-13 12:12:20 WARN  ConfigManager:55 - File is still being processed.
2023-04-13 12:12:25 INFO  ConfigManager:46 - {"fileReference":"test_14","fileFormatCategory":"pdf","fileChecksum":"cda2970d8686b60c45166776669ddfa95da2ea77f1457ee4227b5a93e1f320ec","fileDateTime":"2023-04-13T12:12:00.208Z","fileStatusCategory":null,"error":null}
2023-04-13 12:12:25 WARN  ConfigManager:55 - File is still being processed.
2023-04-13 12:12:30 INFO  ConfigManager:46 - {"fileReference":"test_14","fileFormatCategory":"pdf","fileChecksum":"cda2970d8686b60c45166776669ddfa95da2ea77f1457ee4227b5a93e1f320ec","fileDateTime":"2023-04-13T12:12:00.208Z","fileStatusCategory":null,"error":null}
2023-04-13 12:12:30 WARN  ConfigManager:55 - File is still being processed.
2023-04-13 12:12:36 INFO  ConfigManager:46 - {"fileReference":"test_14","fileFormatCategory":"pdf","fileChecksum":"cda2970d8686b60c45166776669ddfa95da2ea77f1457ee4227b5a93e1f320ec","fileDateTime":"2023-04-13T12:12:00.208Z","fileSizeQuantity":3594416,"fileStatusCategory":null,"error":null}
2023-04-13 12:12:36 WARN  ConfigManager:57 - File was accepted! with SizeQuantity=3594416
2023-04-13 12:12:41 INFO  ConfigManager:102 - File upload status: ACCEPTED
2023-04-13 12:12:46 INFO  ConfigManager:107 - File was accepted!
2023-04-13 12:12:46 INFO  ConfigManager:43 - Registering file...
2023-04-13 12:13:06 INFO  ConfigManager:64 - {"operationCategory":"registration","documentKindCategory":"patent","documentNumber":"PCT/IB2021/057865","documentDate":"2021-08-27","dasAccessCode":"AB21","applicationCategory":"priority document","applicationNumber":"PCT/IB2022/052028","applicationFilingDate":"2022-03-08","email":null,"fileId":"0a12e7fc-3064-4e72-b887-fc9ad989fb04","documentCodeCategory":"priority document","requestAckId":"IBIB20230413000043","operationDateTime":"2023-04-13T12:13:06.133Z","requestStatusCategory":"registration - recorded"}
2023-04-13 12:13:06 WARN  ConfigManager:116 - File registered with AckId: IBIB20230413000043
2023-04-13 12:13:06 INFO  ConfigManager:208 - CSV file updated successfully
2023-04-13 12:13:06 INFO  ConfigManager:74 - Processing fileReference: test_15
2023-04-13 12:13:06 INFO  ConfigManager:76 - SHA-256 checksum: cda2970d8686b60c45166776669ddfa95da2ea77f1457ee4227b5a93e1f320ec
2023-04-13 12:13:06 INFO  ConfigManager:36 - Obtaining file ID and upload URL...
2023-04-13 12:13:07 WARN  ConfigManager:89 - Got fileId: a44afa77-11ab-477a-bbe3-d06bac18a7f3
2023-04-13 12:13:07 WARN  ConfigManager:90 - Got uploadUrl: https://das-upload-eu-central-1-329803703153.s3.eu-central-1.amazonaws.com/das-ib-pct1/a44afa77-11ab-477a-bbe3-d06bac18a7f3.pdf?Content-Type=application%2Fpdf&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAUZSOVENYZJ5UMB75%2F20230413%2Feu-central-1%2Fs3%2Faws4_request&X-Amz-Date=20230413T121307Z&X-Amz-Expires=900&X-Amz-Security-Token=FwoGZXIvYXdzEP7%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaDNMiQvKfU7M5tDUaJiLAAcGwd9MQMD9fZN%2B%2BF2Fcgqivc3M2gK3r0qiCnXf2J50HZoEyhcvCNl376oPTLIb6wcP4QcRhU6HRxbXROJzoxW%2F21R51ctq6WUr%2Fw8YYNcoFuJU2ihDwl4G6Nj3dNxQLFx9D9RnTRzJ7XZOJU%2B%2Bly5tKWcYHb5K%2BJvlsNMR6WaMHHudxwi2dntXIq5Am4XpHHsfropg%2FJhvc2mgEgtiV2JUyb3XAkpofzrfiB0tXJ1ma4odGy2fMTdxkwPJADGoPryjT49%2BhBjIt%2BC6yUDBbOy5pnnNY%2BOIxJoat6GbhHm60QAg0XNjXJaDUHZ%2Fm7SlQaRClafnQ&X-Amz-Signature=8d6717971fd8c68ad502c35fb70a7fe6195e0706d6c3272b59e29830ac7ce82d&X-Amz-SignedHeaders=host
2023-04-13 12:13:07 INFO  ConfigManager:93 - going to upload the file 
2023-04-13 12:13:07 INFO  ConfigManager:32 - uploading file...
2023-04-13 12:13:08 WARN  ConfigManager:168 - File uploaded successfully!
2023-04-13 12:13:08 INFO  ConfigManager:95 - File uploaded successfully!, continue for registration
2023-04-13 12:13:08 INFO  ConfigManager:26 - Checking file status...
2023-04-13 12:13:08 INFO  ConfigManager:46 - {"fileReference":"test_15","fileFormatCategory":"pdf","fileChecksum":"cda2970d8686b60c45166776669ddfa95da2ea77f1457ee4227b5a93e1f320ec","fileDateTime":"2023-04-13T12:13:07.470Z","fileStatusCategory":null,"error":null}
2023-04-13 12:13:08 WARN  ConfigManager:55 - File is still being processed.
2023-04-13 12:13:13 INFO  ConfigManager:46 - {"fileReference":"test_15","fileFormatCategory":"pdf","fileChecksum":"cda2970d8686b60c45166776669ddfa95da2ea77f1457ee4227b5a93e1f320ec","fileDateTime":"2023-04-13T12:13:07.470Z","fileStatusCategory":null,"error":null}
2023-04-13 12:13:13 WARN  ConfigManager:55 - File is still being processed.
2023-04-13 12:13:19 INFO  ConfigManager:46 - {"fileReference":"test_15","fileFormatCategory":"pdf","fileChecksum":"cda2970d8686b60c45166776669ddfa95da2ea77f1457ee4227b5a93e1f320ec","fileDateTime":"2023-04-13T12:13:07.470Z","fileStatusCategory":null,"error":null}
2023-04-13 12:13:19 WARN  ConfigManager:55 - File is still being processed.
2023-04-13 12:13:24 INFO  ConfigManager:46 - {"fileReference":"test_15","fileFormatCategory":"pdf","fileChecksum":"cda2970d8686b60c45166776669ddfa95da2ea77f1457ee4227b5a93e1f320ec","fileDateTime":"2023-04-13T12:13:07.470Z","fileStatusCategory":null,"error":null}
2023-04-13 12:13:24 WARN  ConfigManager:55 - File is still being processed.
2023-04-13 12:13:29 INFO  ConfigManager:46 - {"fileReference":"test_15","fileFormatCategory":"pdf","fileChecksum":"cda2970d8686b60c45166776669ddfa95da2ea77f1457ee4227b5a93e1f320ec","fileDateTime":"2023-04-13T12:13:07.470Z","fileStatusCategory":null,"error":null}
2023-04-13 12:13:29 WARN  ConfigManager:55 - File is still being processed.
2023-04-13 12:13:34 INFO  ConfigManager:46 - {"fileReference":"test_15","fileFormatCategory":"pdf","fileChecksum":"cda2970d8686b60c45166776669ddfa95da2ea77f1457ee4227b5a93e1f320ec","fileDateTime":"2023-04-13T12:13:07.470Z","fileStatusCategory":null,"error":null}
2023-04-13 12:13:34 WARN  ConfigManager:55 - File is still being processed.
2023-04-13 12:13:40 INFO  ConfigManager:46 - {"fileReference":"test_15","fileFormatCategory":"pdf","fileChecksum":"cda2970d8686b60c45166776669ddfa95da2ea77f1457ee4227b5a93e1f320ec","fileDateTime":"2023-04-13T12:13:07.470Z","fileSizeQuantity":3594416,"fileStatusCategory":null,"error":null}
2023-04-13 12:13:40 WARN  ConfigManager:57 - File was accepted! with SizeQuantity=3594416
2023-04-13 12:13:45 INFO  ConfigManager:102 - File upload status: ACCEPTED
2023-04-13 12:13:50 INFO  ConfigManager:107 - File was accepted!
2023-04-13 12:13:50 INFO  ConfigManager:43 - Registering file...
2023-04-13 12:13:51 INFO  ConfigManager:64 - {"operationCategory":"registration","documentKindCategory":"patent","documentNumber":"PCT/IB2021/057866","documentDate":"2021-08-27","dasAccessCode":"AB21","applicationCategory":"priority document","applicationNumber":"PCT/IB2022/052029","applicationFilingDate":"2022-03-08","email":null,"fileId":"a44afa77-11ab-477a-bbe3-d06bac18a7f3","documentCodeCategory":"priority document","requestAckId":"IBIB20230413000044","operationDateTime":"2023-04-13T12:13:51.081Z","requestStatusCategory":"registration - recorded"}
2023-04-13 12:13:51 WARN  ConfigManager:116 - File registered with AckId: IBIB20230413000044
2023-04-13 12:13:51 INFO  ConfigManager:208 - CSV file updated successfully
2023-04-13 12:13:51 INFO  ConfigManager:74 - Processing fileReference: test_16
2023-04-13 12:13:51 INFO  ConfigManager:76 - SHA-256 checksum: cda2970d8686b60c45166776669ddfa95da2ea77f1457ee4227b5a93e1f320ec
2023-04-13 12:13:51 INFO  ConfigManager:36 - Obtaining file ID and upload URL...
2023-04-13 12:13:53 WARN  ConfigManager:89 - Got fileId: cc1feca6-bd7d-467c-8374-97a08066cb19
2023-04-13 12:13:53 WARN  ConfigManager:90 - Got uploadUrl: https://das-upload-eu-central-1-329803703153.s3.eu-central-1.amazonaws.com/das-ib-pct1/cc1feca6-bd7d-467c-8374-97a08066cb19.pdf?Content-Type=application%2Fpdf&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAUZSOVENY43F5RU7Q%2F20230413%2Feu-central-1%2Fs3%2Faws4_request&X-Amz-Date=20230413T121353Z&X-Amz-Expires=900&X-Amz-Security-Token=FwoGZXIvYXdzEP7%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaDI8ycJmkby56iFywayLAAZKzyvoC2rBy6lunIrXQfjHbqJJV6ZvUBBW86F3Gsi22YAKWzh75xjy4LBOC2XEObMtmbQfdJ9UUGlrEysyMZUpidcgzEafLxEEysVeXbZknNB8kXW3IkT2pmyY54ZJt2a3f3VdnPTF7V6Mt6SWPvBlju3LV2YkTUR7VPhJdKwk0ZLIFBNJbR%2FftSCoYg%2F93wfvFqYI5ybOEwtadJWDgCLoGrUBTAm4l%2FxrnMAs9KAz01SZx4%2B3kSX%2FdkQ%2FBGhFZhCiA5N%2BhBjItjAoHEu2Gnp1n2HK3oxxqeNdi5v4Vgx0xtVatRl9RzxFE6aMdEj7Rwm6uoDAB&X-Amz-Signature=727c5551339f0ca65d8c8dcda9a7b4abae1af4ab2b12b602bda8ae45d15d4a49&X-Amz-SignedHeaders=host
2023-04-13 12:13:53 INFO  ConfigManager:93 - going to upload the file 
2023-04-13 12:13:53 INFO  ConfigManager:32 - uploading file...
2023-04-13 12:13:53 WARN  ConfigManager:168 - File uploaded successfully!
2023-04-13 12:13:53 INFO  ConfigManager:95 - File uploaded successfully!, continue for registration
2023-04-13 12:13:53 INFO  ConfigManager:26 - Checking file status...
2023-04-13 12:13:54 INFO  ConfigManager:46 - {"fileReference":"test_16","fileFormatCategory":"pdf","fileChecksum":"cda2970d8686b60c45166776669ddfa95da2ea77f1457ee4227b5a93e1f320ec","fileDateTime":"2023-04-13T12:13:53.029Z","fileStatusCategory":null,"error":null}
2023-04-13 12:13:54 WARN  ConfigManager:55 - File is still being processed.
2023-04-13 12:13:59 INFO  ConfigManager:46 - {"fileReference":"test_16","fileFormatCategory":"pdf","fileChecksum":"cda2970d8686b60c45166776669ddfa95da2ea77f1457ee4227b5a93e1f320ec","fileDateTime":"2023-04-13T12:13:53.029Z","fileStatusCategory":null,"error":null}
2023-04-13 12:13:59 WARN  ConfigManager:55 - File is still being processed.
2023-04-13 12:14:05 INFO  ConfigManager:46 - {"fileReference":"test_16","fileFormatCategory":"pdf","fileChecksum":"cda2970d8686b60c45166776669ddfa95da2ea77f1457ee4227b5a93e1f320ec","fileDateTime":"2023-04-13T12:13:53.029Z","fileStatusCategory":null,"error":null}
2023-04-13 12:14:05 WARN  ConfigManager:55 - File is still being processed.
2023-04-13 12:14:10 INFO  ConfigManager:46 - {"fileReference":"test_16","fileFormatCategory":"pdf","fileChecksum":"cda2970d8686b60c45166776669ddfa95da2ea77f1457ee4227b5a93e1f320ec","fileDateTime":"2023-04-13T12:13:53.029Z","fileStatusCategory":null,"error":null}
2023-04-13 12:14:10 WARN  ConfigManager:55 - File is still being processed.
2023-04-13 12:14:15 INFO  ConfigManager:46 - {"fileReference":"test_16","fileFormatCategory":"pdf","fileChecksum":"cda2970d8686b60c45166776669ddfa95da2ea77f1457ee4227b5a93e1f320ec","fileDateTime":"2023-04-13T12:13:53.029Z","fileStatusCategory":null,"error":null}
2023-04-13 12:14:15 WARN  ConfigManager:55 - File is still being processed.
2023-04-13 12:14:21 INFO  ConfigManager:46 - {"fileReference":"test_16","fileFormatCategory":"pdf","fileChecksum":"cda2970d8686b60c45166776669ddfa95da2ea77f1457ee4227b5a93e1f320ec","fileDateTime":"2023-04-13T12:13:53.029Z","fileSizeQuantity":3594416,"fileStatusCategory":null,"error":null}
2023-04-13 12:14:21 WARN  ConfigManager:57 - File was accepted! with SizeQuantity=3594416
2023-04-13 12:14:26 INFO  ConfigManager:102 - File upload status: ACCEPTED
2023-04-13 12:14:31 INFO  ConfigManager:107 - File was accepted!
2023-04-13 12:14:31 INFO  ConfigManager:43 - Registering file...
2023-04-13 12:14:33 INFO  ConfigManager:64 - {"operationCategory":"registration","documentKindCategory":"patent","documentNumber":"PCT/IB2021/057867","documentDate":"2021-08-27","dasAccessCode":"AB21","applicationCategory":"priority document","applicationNumber":"PCT/IB2022/052030","applicationFilingDate":"2022-03-08","email":null,"fileId":"cc1feca6-bd7d-467c-8374-97a08066cb19","documentCodeCategory":"priority document","requestAckId":"IBIB20230413000045","operationDateTime":"2023-04-13T12:14:32.841Z","requestStatusCategory":"registration - recorded"}
2023-04-13 12:14:33 WARN  ConfigManager:116 - File registered with AckId: IBIB20230413000045
2023-04-13 12:14:33 INFO  ConfigManager:208 - CSV file updated successfully
2023-04-13 12:14:33 INFO  ConfigManager:74 - Processing fileReference: test_17
2023-04-13 12:14:33 INFO  ConfigManager:76 - SHA-256 checksum: cda2970d8686b60c45166776669ddfa95da2ea77f1457ee4227b5a93e1f320ec
2023-04-13 12:14:33 INFO  ConfigManager:36 - Obtaining file ID and upload URL...
2023-04-13 12:14:34 WARN  ConfigManager:89 - Got fileId: 9da2b7d1-2306-4769-a94f-6a78317cd32e
2023-04-13 12:14:34 WARN  ConfigManager:90 - Got uploadUrl: https://das-upload-eu-central-1-329803703153.s3.eu-central-1.amazonaws.com/das-ib-pct1/9da2b7d1-2306-4769-a94f-6a78317cd32e.pdf?Content-Type=application%2Fpdf&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAUZSOVENY47UNK4H4%2F20230413%2Feu-central-1%2Fs3%2Faws4_request&X-Amz-Date=20230413T121434Z&X-Amz-Expires=900&X-Amz-Security-Token=FwoGZXIvYXdzEP7%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaDBAKnbYyDp6Og9VWcyLAAfXBm6Kfql4bO8ro7a2zHxMPiehtwn%2FBnXgr%2FvPUhB5u1poe614hENMmlSb2S5sHlRSgeUHtcAixLpU7cnm9PvhtMvHaRuKjMeNMa8gsuLOoMzD10OM08JixCTSD06W0rAdak8WGsbpnZ4uhsA4dJvQkz%2BFcA1uthsLqx%2FNt02RvBkSIyYM45GF1UnWWDH93OTLpzRtV1zTbVWx4vScFgq06EysT46BS8PJoZZTZL6kBpr7b0Jwvg3AnAqVbSWpwpyiq5N%2BhBjIt8qemGK5pVnl3VY3HkeATA1mrZ6fwajbzoPkmJlAFkm5eHz20VGhtVNvJzCXd&X-Amz-Signature=dd3f0ec104dc971688ae8accbf49aac97604982d98c64aac9cb350682edae255&X-Amz-SignedHeaders=host
2023-04-13 12:14:34 INFO  ConfigManager:93 - going to upload the file 
2023-04-13 12:14:34 INFO  ConfigManager:32 - uploading file...
2023-04-13 12:14:34 WARN  ConfigManager:168 - File uploaded successfully!
2023-04-13 12:14:34 INFO  ConfigManager:95 - File uploaded successfully!, continue for registration
2023-04-13 12:14:34 INFO  ConfigManager:26 - Checking file status...
2023-04-13 12:14:35 INFO  ConfigManager:46 - {"fileReference":"test_17","fileFormatCategory":"pdf","fileChecksum":"cda2970d8686b60c45166776669ddfa95da2ea77f1457ee4227b5a93e1f320ec","fileDateTime":"2023-04-13T12:14:34.131Z","fileStatusCategory":null,"error":null}
2023-04-13 12:14:35 WARN  ConfigManager:55 - File is still being processed.
2023-04-13 12:14:40 INFO  ConfigManager:46 - {"fileReference":"test_17","fileFormatCategory":"pdf","fileChecksum":"cda2970d8686b60c45166776669ddfa95da2ea77f1457ee4227b5a93e1f320ec","fileDateTime":"2023-04-13T12:14:34.131Z","fileStatusCategory":null,"error":null}
2023-04-13 12:14:40 WARN  ConfigManager:55 - File is still being processed.
2023-04-13 12:14:45 INFO  ConfigManager:46 - {"fileReference":"test_17","fileFormatCategory":"pdf","fileChecksum":"cda2970d8686b60c45166776669ddfa95da2ea77f1457ee4227b5a93e1f320ec","fileDateTime":"2023-04-13T12:14:34.131Z","fileStatusCategory":null,"error":null}
2023-04-13 12:14:45 WARN  ConfigManager:55 - File is still being processed.
2023-04-13 12:14:51 INFO  ConfigManager:46 - {"fileReference":"test_17","fileFormatCategory":"pdf","fileChecksum":"cda2970d8686b60c45166776669ddfa95da2ea77f1457ee4227b5a93e1f320ec","fileDateTime":"2023-04-13T12:14:34.131Z","fileStatusCategory":null,"error":null}
2023-04-13 12:14:51 WARN  ConfigManager:55 - File is still being processed.
2023-04-13 12:14:56 INFO  ConfigManager:46 - {"fileReference":"test_17","fileFormatCategory":"pdf","fileChecksum":"cda2970d8686b60c45166776669ddfa95da2ea77f1457ee4227b5a93e1f320ec","fileDateTime":"2023-04-13T12:14:34.131Z","fileStatusCategory":null,"error":null}
2023-04-13 12:14:56 WARN  ConfigManager:55 - File is still being processed.
2023-04-13 12:15:01 INFO  ConfigManager:46 - {"fileReference":"test_17","fileFormatCategory":"pdf","fileChecksum":"cda2970d8686b60c45166776669ddfa95da2ea77f1457ee4227b5a93e1f320ec","fileDateTime":"2023-04-13T12:14:34.131Z","fileSizeQuantity":3594416,"fileStatusCategory":null,"error":null}
2023-04-13 12:15:01 WARN  ConfigManager:57 - File was accepted! with SizeQuantity=3594416
2023-04-13 12:15:06 INFO  ConfigManager:102 - File upload status: ACCEPTED
2023-04-13 12:15:11 INFO  ConfigManager:107 - File was accepted!
2023-04-13 12:15:11 INFO  ConfigManager:43 - Registering file...
2023-04-13 12:15:12 INFO  ConfigManager:64 - {"operationCategory":"registration","documentKindCategory":"patent","documentNumber":"PCT/IB2021/057868","documentDate":"2021-08-27","dasAccessCode":"AB21","applicationCategory":"priority document","applicationNumber":"PCT/IB2022/052031","applicationFilingDate":"2022-03-08","email":null,"fileId":"9da2b7d1-2306-4769-a94f-6a78317cd32e","documentCodeCategory":"priority document","requestAckId":"IBIB20230413000046","operationDateTime":"2023-04-13T12:15:12.444Z","requestStatusCategory":"registration - recorded"}
2023-04-13 12:15:12 WARN  ConfigManager:116 - File registered with AckId: IBIB20230413000046
2023-04-13 12:15:12 INFO  ConfigManager:208 - CSV file updated successfully

The src folder:

Here you will have all the code samples for each of the requests required for going through the process of registration of a priority document.

The individual files are as follow:

The resources folder:

Here you will find the private key file (if you have set up this in the config.properties files above.

The key needs to have been registered with WIPO before it can be used. Please refer to these pages : a.- Private key generation and use

The target folder:

after compiling the code, you will find here all the artifacts, libraries and other files needed by the java app.

The root folder:

Here you will find the pom.xml file (with the information for building the project with Maven).

pom.xml
<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>
    <groupId>org.wipo.das.restapitest</groupId>
    <artifactId>restapitest</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>

    <properties>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
    </properties>

      <dependencies>
        <!-- Existing dependencies -->
        <dependency>
            <groupId>io.jsonwebtoken</groupId>
            <artifactId>jjwt-api</artifactId>
            <version>0.11.2</version>
        </dependency>
        <dependency>
            <groupId>io.jsonwebtoken</groupId>
            <artifactId>jjwt-impl</artifactId>
            <version>0.11.2</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>io.jsonwebtoken</groupId>
            <artifactId>jjwt-jackson</artifactId>
            <version>0.11.2</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcprov-jdk15on</artifactId>
            <version>1.70</version>
        </dependency>
        <dependency>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcpkix-jdk15on</artifactId>
            <version>1.70</version>
        </dependency>
        <dependency>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcprov-ext-jdk15on</artifactId>
            <version>1.70</version>
        </dependency>

        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.8.9</version>
        </dependency>
        <!-- Nimbus JOSE+JWT library -->
        <dependency>
            <groupId>com.nimbusds</groupId>
            <artifactId>nimbus-jose-jwt</artifactId>
            <version>9.16.1</version>
        </dependency>
        <!-- OkHttp client -->
  <dependency>
    <groupId>com.squareup.okhttp3</groupId>
    <artifactId>okhttp</artifactId>
    <version>4.10.0</version>
  </dependency>
  <!-- Okio -->
  <dependency>
    <groupId>com.squareup.okio</groupId>
    <artifactId>okio</artifactId>
    <version>2.10.0</version>
  </dependency>
  <!-- Jackson JSON parser -->
  <dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.13.0</version>
  </dependency>
  <dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.13.0</version>
  </dependency>
  <dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-annotations</artifactId>
    <version>2.13.0</version>
  </dependency>
  <!-- Log4j -->
  <dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-api</artifactId>
    <version>2.17.1</version>
  </dependency>
  <dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.17.1</version>
  </dependency>

    <dependency>
        <groupId>com.opencsv</groupId>
        <artifactId>opencsv</artifactId>
        <version>5.7.1</version>
    </dependency>
    <dependency>
        <groupId>commons-cli</groupId>
        <artifactId>commons-cli</artifactId>
        <version>1.5.0</version>
    </dependency>


    
    <!-- JSON Dependency -->
    <dependency>
        <groupId>org.json</groupId>
        <artifactId>json</artifactId>
        <version>20210307</version>
    </dependency>


        <dependency>
            <groupId>org.bitbucket.b_c</groupId>
            <artifactId>jose4j</artifactId>
            <version>0.7.9</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>3.2.0</version>
                <configuration>
                    <archive>
                        <manifest>
                            <addClasspath>true</addClasspath>
                            <mainClass>org.wipo.das.restapitest.Main</mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
                        <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>3.2.0</version>
                <executions>
                    <execution>
                        <id>copy-dependencies</id>
                        <phase>package</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.build.directory}/lib</outputDirectory>
                            <includeScope>runtime</includeScope>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>${maven.compiler.source}</source>
                    <target>${maven.compiler.target}</target>
                </configuration>
            </plugin>

        </plugins>
    </build>

</project>

Also, you will find an sh script to build the project: 

mvn -Dmaven.wagon.http.ssl.insecure=true clean package

The "-Dmaven.wagon.http.ssl.insecure=true" flag is there due to some constraints that might happen if you are under a corporate network and the certificates are not properly installed in the PC or development environment

And finally the sh script used to execute the program:

java -cp ./target/restapitest-1.0-SNAPSHOT.jar:./target/lib/* org.wipo.das.restapitest.Main config/config.properties config/test.csv

Once launched, the process will read the contents of the csv file, looking for the new priority records that have not been registered yet.

It will go line by line, and execute all the requests needed for the registration. At the end of the process it will update the csv file with the information that has been provided by DAS and will set the record as registered:

If everything went well the csv file will look like this at the end:

"file_reference","file_location","application_number","application_date","priority_number","priority_date","document_category","application_category","das_code","file_id","registered"
"test_14","config/PCT_IB2022_052028.pdf","PCT/IB2022/052028","2022-03-08","PCT/IB2021/057865","2021-08-27","patent","priority document","AB21","0a12e7fc-3064-4e72-b887-fc9ad989fb04","true","IBIB20230413000043"
"test_15","config/PCT_IB2022_052028.pdf","PCT/IB2022/052029","2022-03-08","PCT/IB2021/057866","2021-08-27","patent","priority document","AB21","a44afa77-11ab-477a-bbe3-d06bac18a7f3","true","IBIB20230413000044"
"test_16","config/PCT_IB2022_052028.pdf","PCT/IB2022/052030","2022-03-08","PCT/IB2021/057867","2021-08-27","patent","priority document","AB21","cc1feca6-bd7d-467c-8374-97a08066cb19","true","IBIB20230413000045"
"test_17","config/PCT_IB2022_052028.pdf","PCT/IB2022/052031","2022-03-08","PCT/IB2021/057868","2021-08-27","patent","priority document","AB21","9da2b7d1-2306-4769-a94f-6a78317cd32e","true","IBIB20230413000046"

At the end of each execution, it will add the fileId ("0a12e7fc-3064-4e72-b887-fc9ad989fb04"),it will set "true" for the "registered" column and will save the ackId that has been given by the system ("IBIB20230413000043").

Be aware that this is a very basic Java project, just to demo the classes that are needed to execute the registration process in DAS. 

It is a work in progress and currently might not contain all the required mechanisms to cope with the eventualities of the process.

So, be ready that you might run into some exceptions if the information in the csv file is not properly set or the required assets are not present in the locations that are mentioned there or in the config.properties file. 



  • No labels