1b8a72a62Sopenharmony_ci/*
2b8a72a62Sopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd.
3b8a72a62Sopenharmony_ci *
4b8a72a62Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
5b8a72a62Sopenharmony_ci * you may not use this file except in compliance with the License.
6b8a72a62Sopenharmony_ci * You may obtain a copy of the License at
7b8a72a62Sopenharmony_ci *
8b8a72a62Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
9b8a72a62Sopenharmony_ci *
10b8a72a62Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
11b8a72a62Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
12b8a72a62Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13b8a72a62Sopenharmony_ci * See the License for the specific language governing permissions and
14b8a72a62Sopenharmony_ci * limitations under the License.
15b8a72a62Sopenharmony_ci */
16b8a72a62Sopenharmony_ci
17b8a72a62Sopenharmony_cipackage ohos;
18b8a72a62Sopenharmony_ci
19b8a72a62Sopenharmony_ci/**
20b8a72a62Sopenharmony_ci * scanEntrance info
21b8a72a62Sopenharmony_ci *
22b8a72a62Sopenharmony_ci * @since 2023/11/23
23b8a72a62Sopenharmony_ci */
24b8a72a62Sopenharmony_ci
25b8a72a62Sopenharmony_cipublic class ScanEntrance {
26b8a72a62Sopenharmony_ci    private static final int EXIT_STATUS_NORMAL = 0;
27b8a72a62Sopenharmony_ci    private static final int EXIT_STATUS_EXCEPTION = 1;
28b8a72a62Sopenharmony_ci    private static final Log LOG = new Log(ScanEntrance.class.toString());
29b8a72a62Sopenharmony_ci
30b8a72a62Sopenharmony_ci
31b8a72a62Sopenharmony_ci    /**
32b8a72a62Sopenharmony_ci     * scan tool main function.
33b8a72a62Sopenharmony_ci     *
34b8a72a62Sopenharmony_ci     * @param args command line
35b8a72a62Sopenharmony_ci     */
36b8a72a62Sopenharmony_ci
37b8a72a62Sopenharmony_ci    public static void main(String[] args) {
38b8a72a62Sopenharmony_ci        Utility utility = new Utility();
39b8a72a62Sopenharmony_ci
40b8a72a62Sopenharmony_ci        if (!CommandParser.commandParser(utility, args)) {
41b8a72a62Sopenharmony_ci            LOG.error(ScanErrorEnum.SCAN_ENTRANCE_PARSER_ERROR.toString());
42b8a72a62Sopenharmony_ci            ShowHelp.scanHelp();
43b8a72a62Sopenharmony_ci            System.exit(EXIT_STATUS_EXCEPTION);
44b8a72a62Sopenharmony_ci        }
45b8a72a62Sopenharmony_ci
46b8a72a62Sopenharmony_ci        if (!ScanVerify.commandVerify(utility)) {
47b8a72a62Sopenharmony_ci            LOG.error(ScanErrorEnum.SCAN_ENTRANCE_VERIFY_ERROR.toString());
48b8a72a62Sopenharmony_ci            ShowHelp.scanHelp();
49b8a72a62Sopenharmony_ci            System.exit(EXIT_STATUS_EXCEPTION);
50b8a72a62Sopenharmony_ci        }
51b8a72a62Sopenharmony_ci
52b8a72a62Sopenharmony_ci        Scan scan = new Scan();
53b8a72a62Sopenharmony_ci        if (!scan.scanProcess(utility)) {
54b8a72a62Sopenharmony_ci            LOG.error(ScanErrorEnum.SCAN_ENTRANCE_COMPRESS_ERROR.toString());
55b8a72a62Sopenharmony_ci            ShowHelp.scanHelp();
56b8a72a62Sopenharmony_ci            System.exit(EXIT_STATUS_EXCEPTION);
57b8a72a62Sopenharmony_ci        }
58b8a72a62Sopenharmony_ci
59b8a72a62Sopenharmony_ci        System.exit(EXIT_STATUS_NORMAL);
60b8a72a62Sopenharmony_ci    }
61b8a72a62Sopenharmony_ci}