当前位置: 首页>>代码示例>>Java>>正文


Java ObjectSpecification.getAssociations方法代码示例

本文整理汇总了Java中org.apache.isis.core.metamodel.spec.ObjectSpecification.getAssociations方法的典型用法代码示例。如果您正苦于以下问题:Java ObjectSpecification.getAssociations方法的具体用法?Java ObjectSpecification.getAssociations怎么用?Java ObjectSpecification.getAssociations使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.isis.core.metamodel.spec.ObjectSpecification的用法示例。


在下文中一共展示了ObjectSpecification.getAssociations方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getAssociation

import org.apache.isis.core.metamodel.spec.ObjectSpecification; //导入方法依赖的package包/类
private static OneToOneAssociation getAssociation(final ObjectSpecification objectSpec, final String propertyNameOrId) {
    final List<ObjectAssociation> associations = objectSpec.getAssociations(Contributed.INCLUDED);
    for (final ObjectAssociation association : associations) {
        if (association instanceof OneToOneAssociation) {
            if (propertyNameOrId.equalsIgnoreCase(association.getName())) {
                return (OneToOneAssociation) association;
            }
            if (propertyNameOrId.equalsIgnoreCase(association.getId())) {
                return (OneToOneAssociation) association;
            }
        }
    }
    return null;
}
 
开发者ID:isisaddons-legacy,项目名称:isis-module-excel,代码行数:15,代码来源:ExcelConverter.java

示例2: appliesTo

import org.apache.isis.core.metamodel.spec.ObjectSpecification; //导入方法依赖的package包/类
@Override
public ApplicationAdvice appliesTo(final IModel<?> model) {
    if(!(model instanceof EntityCollectionModel)) {
        return ApplicationAdvice.DOES_NOT_APPLY;
    }
    final EntityCollectionModel entityCollectionModel = (EntityCollectionModel) model;
    // TOFIX: because of Javascript issues, currently only works for standalone views.
    if(!entityCollectionModel.isStandalone()) {
        return ApplicationAdvice.DOES_NOT_APPLY;
    }
    final ObjectSpecification elementSpec = entityCollectionModel.getTypeOfSpecification();
    List<ObjectAssociation> associations = elementSpec.getAssociations(OF_TYPE_BIGDECIMAL);
    return appliesIf(!associations.isEmpty());
}
 
开发者ID:isisaddons-legacy,项目名称:isis-wicket-wickedcharts,代码行数:15,代码来源:CollectionContentsAsSummaryChartFactory.java

示例3: buildGui

import org.apache.isis.core.metamodel.spec.ObjectSpecification; //导入方法依赖的package包/类
private void buildGui() {
    final EntityCollectionModel model = getModel();

    final ObjectSpecification elementSpec = model.getTypeOfSpecification();

    final NotificationPanel feedback = new NotificationPanel(ID_FEEDBACK);
    feedback.setOutputMarkupId(true);
    addOrReplace(feedback);

    final List<ObjectAdapter> adapters = model.getObject();
    final List<String> titles = Lists.newArrayList();
    for (ObjectAdapter adapter: adapters) {
        titles.add(adapter.titleString(null));
    }

    final List<ObjectAssociation> numberAssociations = elementSpec.getAssociations(CollectionContentsAsSummaryChartFactory.OF_TYPE_BIGDECIMAL);
    final List<CollectionContentsAsSummary.Summary> summaries = Lists.newArrayList();
    for (final ObjectAssociation numberAssociation : numberAssociations) {

        final String propertyName = numberAssociation.getName();
        final CollectionContentsAsSummary.Summary summary = new CollectionContentsAsSummary.Summary(propertyName, adapters, numberAssociation);

        summaries.add(summary);
    }

    if(model.isStandalone()) {
        final WickedChart chartValue = createChartValue(titles, summaries);
        final StandaloneValueAsWickedChart wickedChart = new StandaloneValueAsWickedChart(ID_CHART, asValueModel(chartValue));
        addOrReplace(wickedChart);
    } else {
        add(new Label(ID_CHART, ""));
    }
}
 
开发者ID:isisaddons-legacy,项目名称:isis-wicket-wickedcharts,代码行数:34,代码来源:CollectionContentsAsSummaryChart.java

示例4: propertiesOf

import org.apache.isis.core.metamodel.spec.ObjectSpecification; //导入方法依赖的package包/类
private static List<ObjectAssociation> propertiesOf(final ObjectSpecification objSpec) {
    return objSpec.getAssociations(Contributed.EXCLUDED, ObjectAssociation.Filters.PROPERTIES);
}
 
开发者ID:isisaddons-legacy,项目名称:isis-module-devutils,代码行数:4,代码来源:LayoutJsonExporter.java

示例5: collectionsOf

import org.apache.isis.core.metamodel.spec.ObjectSpecification; //导入方法依赖的package包/类
private static List<ObjectAssociation> collectionsOf(final ObjectSpecification objSpec) {
    return objSpec.getAssociations(Contributed.EXCLUDED, ObjectAssociation.Filters.COLLECTIONS);
}
 
开发者ID:isisaddons-legacy,项目名称:isis-module-devutils,代码行数:4,代码来源:LayoutJsonExporter.java

示例6: downloadMetaModel

import org.apache.isis.core.metamodel.spec.ObjectSpecification; //导入方法依赖的package包/类
@Programmatic
public Clob downloadMetaModel() {

    final Collection<ObjectSpecification> specifications = specificationLoader.allSpecifications();

    final List<MetaModelRow> rows = Lists.newArrayList();
    for (final ObjectSpecification spec : specifications) {
        if (exclude(spec)) {
            continue;
        }
        final List<ObjectAssociation> properties = spec.getAssociations(Contributed.EXCLUDED, ObjectAssociation.Filters.PROPERTIES);
        for (final ObjectAssociation property : properties) {
            final OneToOneAssociation otoa = (OneToOneAssociation) property;
            if (exclude(otoa)) {
                continue;
            }
            rows.add(new MetaModelRow(spec, otoa));
        }
        final List<ObjectAssociation> associations = spec.getAssociations(Contributed.EXCLUDED, ObjectAssociation.Filters.COLLECTIONS);
        for (final ObjectAssociation collection : associations) {
            final OneToManyAssociation otma = (OneToManyAssociation) collection;
            if (exclude(otma)) {
                continue;
            }
            rows.add(new MetaModelRow(spec, otma));
        }
        final List<ObjectAction> actions = spec.getObjectActions(Contributed.INCLUDED);
        for (final ObjectAction action : actions) {
            if (exclude(action)) {
                continue;
            }
            rows.add(new MetaModelRow(spec, action));
        }
    }

    Collections.sort(rows);

    final StringBuilder buf = new StringBuilder();
    buf.append(MetaModelRow.header()).append("\n");
    for (final MetaModelRow row : rows) {
        buf.append(row.asTextCsv()).append("\n");
    }
    return new Clob("metamodel.csv", mimeTypeTextCsv, buf.toString().toCharArray());
}
 
开发者ID:isisaddons-legacy,项目名称:isis-module-devutils,代码行数:45,代码来源:DeveloperUtilitiesServiceProgrammatic.java

示例7: appendPivotSheet

import org.apache.isis.core.metamodel.spec.ObjectSpecification; //导入方法依赖的package包/类
private void appendPivotSheet(
        final XSSFWorkbook workbook,
        final List<?> domainObjects,
        final WorksheetSpec.RowFactory<?> factory,
        final String sheetName) throws IOException {

    final ObjectSpecification objectSpec = specificationLoader.loadSpecification(factory.getCls());

    final List<ObjectAdapter> adapters = Lists.transform(domainObjects, ObjectAdapter.Functions.adapterForUsing(adapterManager));

    @SuppressWarnings("deprecation")
    final List<? extends ObjectAssociation> propertyList = objectSpec.getAssociations(VISIBLE_PROPERTIES);

    // Validate the annotations for pivot
    validateAnnotations(propertyList, factory.getCls());

    // Proces the annotations for pivot
    final List<String> annotationList = new ArrayList<>();
    final List<Integer> orderList = new ArrayList<>();
    final List<AggregationType> typeList = new ArrayList<>();
    for (AnnotationOrderAndType annotationOrderAndType : getAnnotationAndOrderFrom(propertyList, factory.getCls())){
        annotationList.add(annotationOrderAndType.annotation);
        orderList.add(annotationOrderAndType.order);
        typeList.add(annotationOrderAndType.type);
    }

    // create pivot sheet
    final Sheet pivotSheet = ((Workbook) workbook).createSheet(sheetName);

    // Create source sheet for pivot
    String pivotSourceSheetName = ("source for ".concat(sheetName));
    if (WorksheetSpec.isTooLong(pivotSourceSheetName)) {
        pivotSourceSheetName = WorksheetSpec.trim(pivotSourceSheetName);
    }
    final Sheet pivotSourceSheet = appendSheet(workbook, domainObjects, factory, pivotSourceSheetName);
    pivotSourceSheet.shiftRows(0, pivotSourceSheet.getLastRowNum(), 3);
    final Row annotationRow = pivotSourceSheet.createRow(0);
    final Row orderRow = pivotSourceSheet.createRow(1);
    final Row typeRow = pivotSourceSheet.createRow(2);
    PivotUtils.createAnnotationRow(annotationRow, annotationList);
    PivotUtils.createOrderRow(orderRow, orderList);
    PivotUtils.createTypeRow(typeRow, typeList);

    // And finally: fill the pivot sheet with a pivot of the values found in pivot source sheet
    SheetPivoter p = new SheetPivoter();
    p.pivot(pivotSourceSheet, pivotSheet);
    pivotSourceSheet.removeRow(annotationRow);
    pivotSourceSheet.removeRow(orderRow);
    pivotSourceSheet.removeRow(typeRow);
    pivotSourceSheet.shiftRows(3, pivotSourceSheet.getLastRowNum(), -3);
}
 
开发者ID:isisaddons-legacy,项目名称:isis-module-excel,代码行数:52,代码来源:ExcelConverter.java

示例8: buildGui

import org.apache.isis.core.metamodel.spec.ObjectSpecification; //导入方法依赖的package包/类
private void buildGui() {

        final EntityCollectionModel model = getModel();

        final ObjectSpecification elementSpec = model.getTypeOfSpecification();

        final NotificationPanel feedback = new NotificationPanel(ID_FEEDBACK);
        feedback.setOutputMarkupId(true);
        addOrReplace(feedback);

        RepeatingView repeating = new RepeatingView(ID_REPEATING_SUMMARY_CHARTS);
        addOrReplace(repeating);

        List<ObjectAssociation> numberAssociations = elementSpec.getAssociations(CollectionContentsAsSummaryChartsFactory.OF_TYPE_BIGDECIMAL);
        for (ObjectAssociation numberAssociation : numberAssociations) {
            AbstractItem item = new AbstractItem(repeating.newChildId());

            repeating.add(item);

            String propertyName = numberAssociation.getName();
            item.add(new Label(ID_PROPERTY_NAME, new Model<String>(propertyName)));

            List<ObjectAdapter> adapters = model.getObject();
            
            CollectionContentsAsSummary.Summary summary = new CollectionContentsAsSummary.Summary(propertyName, adapters, numberAssociation);

            BigDecimal min = summary.getMin();
            BigDecimal max = summary.getMax();
            
            addItem(item, ID_SUM, summary.getTotal());
            addItem(item, ID_AVG, summary.getAverage());
            addItem(item, ID_MIN, min);
            addItem(item, ID_MAX, max);

            if(model.isStandalone()) {
                final BigDecimal minElseZero = min!=null?(min.compareTo(BigDecimal.ZERO)<0?min:BigDecimal.ZERO):null;
                final BigDecimal maxElseZero = max!=null?(max.compareTo(BigDecimal.ZERO)<0?BigDecimal.ZERO:max):null;
                final WickedChart chartValue = createChartValue(propertyName, summary.getTitles(), summary.getValuesAsNumbers(), minElseZero, maxElseZero);
                final StandaloneValueAsWickedChart wickedChart = new StandaloneValueAsWickedChart(ID_CHART, asValueModel(chartValue));
                item.add(wickedChart);
            } else {
                item.add(new Label(ID_CHART, ""));
            }
        }
    }
 
开发者ID:isisaddons-legacy,项目名称:isis-wicket-wickedcharts,代码行数:46,代码来源:CollectionContentsAsSummaryCharts.java

示例9: viewObjectProperty

import org.apache.isis.core.metamodel.spec.ObjectSpecification; //导入方法依赖的package包/类
/**
 * Obtain a view for object ID
 *
 * @param object
 * @param id
 * @return
 */
@GET
@Path("/object/{object}/{id}/property/{property}")
public Response viewObjectProperty(@PathParam("object") String object, @PathParam("id") String id, @PathParam("property") String property, @Context HttpServletResponse response) {
    Component component = null;

    AuthenticationSession session = new AnonymousSession();
    IsisContext.openSession(session);

    try {

        ObjectAdapter instance = IsisContext.getPersistenceSession().getAdapterManager().adapterFor(RootOidDefault.deString(id, IsisContext.getOidMarshaller()));
        final ObjectSpecification specification = instance.getSpecification();
        final List<ObjectAssociation> fields = specification.getAssociations(ObjectAssociationFilters.dynamicallyVisible(IsisContext.getAuthenticationSession(), instance, Where.NOWHERE));
        for (ObjectAssociation field : fields) {
            if (property.equalsIgnoreCase(field.getId())) {
                if (field.getSpecification().getFullIdentifier().endsWith("BlobKey")) {
                    final ObjectAdapter associatedObject = field.get(instance);
                    if (associatedObject != null) {
                        BlobKey blobKey = (BlobKey) associatedObject.getObject();

                        BlobInfoFactory blobInfoFactory = new BlobInfoFactory(DatastoreServiceFactory.getDatastoreService());
                        BlobInfo blobInfo = blobInfoFactory.loadBlobInfo(blobKey);
                        BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService();

                        byte[] image = blobstoreService.fetchData(blobKey, 0, blobInfo.getSize());

                        return Response.status(200).type(blobInfo.getContentType()).entity( image ).build();

                    }
                }
            }
        }

    } catch (Exception e) {
        log.error("viewObjectProperty exception", e);
    } finally {
        IsisContext.closeSession();
    }
    return Response.status(200).entity("").build();
}
 
开发者ID:madytyoo,项目名称:dhtmlx-isis-viewer,代码行数:48,代码来源:ViewerObject.java


注:本文中的org.apache.isis.core.metamodel.spec.ObjectSpecification.getAssociations方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。