Search in sources :

Example 21 with Vendor

use of org.eclipse.sw360.datahandler.thrift.vendors.Vendor in project sw360portal by sw360.

the class CveSearchGuesser method guessVendorAndProducts.

public List<Match> guessVendorAndProducts(String vendorHaystack, String productHaystack) throws IOException {
    List<Match> result = new ArrayList<>();
    List<Match> vendors = guessVendors(vendorHaystack);
    for (Match vendor : vendors) {
        result.addAll(guessProducts(vendor.getNeedle(), productHaystack).stream().map(product -> vendor.concat(product)).collect(Collectors.toList()));
    }
    return result.stream().sorted((sm1, sm2) -> sm1.compareTo(sm2)).filter(sm -> cutoff == 0 || cutoff > sm.getDistance()).collect(Collectors.toList());
}
Also used : ListMatcher(org.eclipse.sw360.cvesearch.datasource.matcher.ListMatcher) Logger(org.apache.log4j.Logger) java.util(java.util) Match(org.eclipse.sw360.cvesearch.datasource.matcher.Match) IOException(java.io.IOException) Collectors(java.util.stream.Collectors) Match(org.eclipse.sw360.cvesearch.datasource.matcher.Match)

Example 22 with Vendor

use of org.eclipse.sw360.datahandler.thrift.vendors.Vendor in project sw360portal by sw360.

the class ComponentCSVRecord method getVendor.

public Vendor getVendor() {
    final Vendor vendor = new Vendor();
    vendor.setFullname(vendorName);
    if (!isNullOrEmpty(vendorShortname)) {
        vendor.setShortname(vendorShortname);
    } else {
        vendor.setShortname(vendorName);
    }
    if (!isNullOrEmpty(vendorUrl)) {
        vendor.setUrl(vendorUrl);
    }
    return vendor;
}
Also used : Vendor(org.eclipse.sw360.datahandler.thrift.vendors.Vendor)

Example 23 with Vendor

use of org.eclipse.sw360.datahandler.thrift.vendors.Vendor in project sw360portal by sw360.

the class ReleaseHelper method addFieldValueToRow.

private void addFieldValueToRow(List<String> row, Release._Fields field, Release release) throws SW360Exception {
    switch(field) {
        case COMPONENT_ID:
            // first, add data for given field
            row.add(release.getComponentId());
            // second, add joined data, remark that headers have already been added
            // accordingly
            // add component type in every case
            Component component = this.preloadedComponents.get(release.componentId);
            if (component == null) {
                // maybe cache was not initialized properly, so try to load manually
                try {
                    component = cClient.getComponentById(release.getComponentId(), user);
                } catch (TException e) {
                    log.warn("No component found for id " + release.getComponentId() + " which is set in release with id " + release.getId(), e);
                    component = null;
                }
            }
            // check again and add value
            if (component == null) {
                row.add("");
            } else {
                row.add(ThriftEnumUtils.enumToString(component.getComponentType()));
            }
            // and project origin only if wanted
            if (addAdditionalData()) {
                if (releaseClearingStatusDataByRelease.containsKey(release)) {
                    row.add(releaseClearingStatusDataByRelease.get(release).getProjectNames());
                } else {
                    row.add("");
                }
            }
            break;
        case VENDOR:
            addVendorToRow(release.getVendor(), row);
            break;
        case COTS_DETAILS:
            addCotsDetailsToRow(release.getCotsDetails(), row);
            break;
        case CLEARING_INFORMATION:
            addClearingInformationToRow(release.getClearingInformation(), row);
            break;
        case ECC_INFORMATION:
            addEccInformationToRow(release.getEccInformation(), row);
            break;
        case RELEASE_ID_TO_RELATIONSHIP:
            addReleaseIdToRelationShipToRow(release.getReleaseIdToRelationship(), row);
            break;
        case ATTACHMENTS:
            String size = Integer.toString(release.isSetAttachments() ? release.getAttachments().size() : 0);
            row.add(size);
            break;
        default:
            Object fieldValue = release.getFieldValue(field);
            row.add(fieldValueAsString(fieldValue));
    }
}
Also used : TException(org.apache.thrift.TException) SW360Utils.fieldValueAsString(org.eclipse.sw360.datahandler.common.SW360Utils.fieldValueAsString)

Example 24 with Vendor

use of org.eclipse.sw360.datahandler.thrift.vendors.Vendor in project sw360portal by sw360.

the class SW360Utils method setVendorId.

/**
 * Set the vendor id if the vendor object is set
 */
public static void setVendorId(Release release) {
    // Save the vendor ID, not its contents
    if (release.isSetVendor()) {
        Vendor vendor = release.getVendor();
        release.setVendorId(vendor.getId());
        release.unsetVendor();
    }
    if (isNullOrEmpty(release.getVendorId())) {
        release.unsetVendorId();
    }
}
Also used : Vendor(org.eclipse.sw360.datahandler.thrift.vendors.Vendor)

Example 25 with Vendor

use of org.eclipse.sw360.datahandler.thrift.vendors.Vendor in project sw360portal by sw360.

the class ComponentSummary method summary.

@Override
protected Component summary(SummaryType type, Component document) {
    Component copy = new Component();
    if (type == SummaryType.EXPORT_SUMMARY) {
        List<Release> releases = releaseRepository.getReleasesFromComponentId(document.getId());
        return makeExportSummary(document, releases);
    } else if (type == SummaryType.DETAILED_EXPORT_SUMMARY) {
        List<Release> releases = releaseRepository.getReleasesFromComponentId(document.getId());
        final Map<String, Vendor> vendorsById = ThriftUtils.getIdMap(vendorRepository.getAll());
        for (Release release : releases) {
            if (!release.isSetVendor() && release.isSetVendorId()) {
                release.setVendor(vendorsById.get(release.getVendorId()));
            }
        }
        return makeDetailedExportSummary(document, releases);
    } else if (type == SummaryType.HOME) {
        copyField(document, copy, Component._Fields.ID);
        copyField(document, copy, Component._Fields.DESCRIPTION);
    }
    copyField(document, copy, Component._Fields.ID);
    copyField(document, copy, Component._Fields.NAME);
    copyField(document, copy, Component._Fields.VENDOR_NAMES);
    copyField(document, copy, Component._Fields.COMPONENT_TYPE);
    if (type == SummaryType.SUMMARY) {
        for (Component._Fields field : Component.metaDataMap.keySet()) {
            copyField(document, copy, field);
        }
    }
    return copy;
}
Also used : ImmutableList(com.google.common.collect.ImmutableList) Component(org.eclipse.sw360.datahandler.thrift.components.Component) Release(org.eclipse.sw360.datahandler.thrift.components.Release)

Aggregations

Vendor (org.eclipse.sw360.datahandler.thrift.vendors.Vendor)37 TException (org.apache.thrift.TException)14 VendorService (org.eclipse.sw360.datahandler.thrift.vendors.VendorService)12 Release (org.eclipse.sw360.datahandler.thrift.components.Release)8 RequestStatus (org.eclipse.sw360.datahandler.thrift.RequestStatus)5 User (org.eclipse.sw360.datahandler.thrift.users.User)5 DatabaseConnector (org.eclipse.sw360.datahandler.couchdb.DatabaseConnector)4 Before (org.junit.Before)4 Test (org.junit.Test)4 IOException (java.io.IOException)3 Component (org.eclipse.sw360.datahandler.thrift.components.Component)3 RequestMapping (org.springframework.web.bind.annotation.RequestMapping)3 JSONObject (com.liferay.portal.kernel.json.JSONObject)2 URI (java.net.URI)2 java.util (java.util)2 ArrayList (java.util.ArrayList)2 Collectors (java.util.stream.Collectors)2 ComponentDatabaseHandler (org.eclipse.sw360.datahandler.db.ComponentDatabaseHandler)2 Attachment (org.eclipse.sw360.datahandler.thrift.attachments.Attachment)2 ComponentService (org.eclipse.sw360.datahandler.thrift.components.ComponentService)2