本文整理汇总了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;
}
示例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);
}
示例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);
}
示例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);
}
示例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();
}