package org.commonjava.indy.pkg.npm.model.converter;

import com.fasterxml.jackson.databind.util.StdConverter;
import org.commonjava.indy.pkg.npm.model.License;

import java.util.List;

public class ObjectToLicenseConverter extends StdConverter<Object, License> {

    @Override
    public License convert(Object o) {
        if (o instanceof List)
        {
            // Use SPDX expressions, ref https://docs.npmjs.com/cli/v7/configuring-npm/package-json
            // e.g, parse "[MIT, Apache2]" to "(MIT OR Apache2)"
            String license = o.toString().replaceAll("\\[|\\]", "");
            return new License("(" + license.replaceAll(",", " OR") + ")");
        }
        return new License(o.toString());
    }
}

@@ -1,12 +1,660 @@
+/**%0A * Copyright (C) 2011-2020 Red Hat, Inc. (https://github.com/Commonjava/indy)%0A *%0A * Licensed under the Apache License, Version 2.0 (the %22License%22);%0A * you may not use this file except in compliance with the License.%0A * You may obtain a copy of the License at%0A *%0A *         http://www.apache.org/licenses/LICENSE-2.0%0A *%0A * Unless required by applicable law or agreed to in writing, software%0A * distributed under the License is distributed on an %22AS IS%22 BASIS,%0A * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.%0A * See the License for the specific language governing permissions and%0A * limitations under the License.%0A */%0A
 package org.

Update license header