use of eu.ggnet.dwoss.uniqueunit.api.PicoUnit in project dwoss by gg-net.
the class RedTapeView method initFxComponents.
private void initFxComponents() {
final JFXPanel jfxp = new JFXPanel();
positionFxPanel.add(jfxp, BorderLayout.CENTER);
Platform.runLater(() -> {
SelectionEnhancer<Position> selectionEnhancer = (selected) -> {
if (selected != null && selected.getType() == UNIT)
return Arrays.asList(new PicoUnit(selected.getUniqueUnitId(), selected.getName()));
return Collections.EMPTY_LIST;
};
selector = Ops.seletor(Position.class, selectionEnhancer);
BorderPane pane = new BorderPane();
Scene scene = new Scene(pane, javafx.scene.paint.Color.ALICEBLUE);
final ListView<Position> positionsFxList = new ListView<>();
MultipleSelectionModel<Position> selectionModel = positionsFxList.getSelectionModel();
selectionModel.setSelectionMode(SelectionMode.SINGLE);
selectionModel.selectedItemProperty().addListener((ob, o, n) -> {
selector.selected(n);
});
positionsFxList.setCellFactory(new PositionListCell.Factory());
positionsFxList.setItems(positions);
positionsFxList.setContextMenu(FxOps.contextMenuOf(selectionModel, selectionEnhancer));
positionsFxList.setOnMouseClicked(FxOps.defaultMouseEventOf(selectionModel));
/*
positionsFxList.setOnMouseClicked((evt) -> {
if ( positionsFxList.getSelectionModel().isEmpty() ) return;
if ( evt.getButton() != PRIMARY ) return;
if ( evt.getClickCount() != 2 ) return;
HtmlDialog d = new HtmlDialog(RedTapeView.this, ModalityType.MODELESS);
d.setText(controller.getDetailedPositionToHtml(positionsFxList.getSelectionModel().getSelectedItem()));
d.setVisible(true);
});
*/
pane.setCenter(positionsFxList);
jfxp.setScene(scene);
});
}
use of eu.ggnet.dwoss.uniqueunit.api.PicoUnit in project dwoss by gg-net.
the class ConsumerFactoryOfStockTransactions method of.
@Override
public List<DescriptiveConsumer<PicoUnit>> of(PicoUnit t) {
StockAgent stockAgent = Dl.remote().lookup(StockAgent.class);
StockUnit su = stockAgent.findStockUnitByUniqueUnitIdEager(t.uniqueUnitId);
if (su == null || su.isInTransaction())
return Collections.EMPTY_LIST;
Guardian guardian = Dl.local().lookup(Guardian.class);
if (!guardian.hasRight(CREATE_TRANSACTION_FOR_SINGLE_UNIT))
return Collections.EMPTY_LIST;
return stockAgent.findAll(Stock.class).stream().filter(s -> !s.equals(su.getStock())).map(destination -> {
return new DescriptiveConsumer<>("Umfuhr von " + su.getStock().getName() + " nach " + destination.getName(), (PicoUnit t1) -> {
Ui.exec(() -> {
Ui.build().dialog().eval(() -> new CreateQuestionModel(su, destination, "Umfuhr direkt durch Nutzer erzeugt"), () -> new CreateQuestionView()).opt().map(v -> ReplyUtil.wrap(() -> Dl.remote().lookup(StockTransactionProcessor.class).perpareTransfer(v.stockUnits, v.destination.getId(), Dl.local().lookup(Guardian.class).getUsername(), v.comment))).filter(Ui.failure()::handle).ifPresent(u -> Ui.build().alert("Umfuhr angelegt"));
});
});
}).collect(Collectors.toList());
}
use of eu.ggnet.dwoss.uniqueunit.api.PicoUnit in project dwoss by gg-net.
the class UnitViewTryout method main.
public static void main(String[] args) throws Exception {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
final SpecGenerator GEN = new SpecGenerator();
final List<ProductSpec> productSpecs = new ArrayList<>();
final Map<String, ProductModel> productModels = new HashMap<>();
final Map<String, ProductSeries> productSeries = new HashMap<>();
final Map<String, ProductFamily> productFamily = new HashMap<>();
final List<Product> products = new ArrayList<>();
for (int i = 0; i < 100; i++) {
ProductSpec spec = GEN.makeSpec();
productSpecs.add(spec);
products.add(new Product(spec.getModel().getFamily().getSeries().getGroup(), spec.getModel().getFamily().getSeries().getBrand(), spec.getPartNo(), spec.getModel().getName()));
productModels.putIfAbsent(spec.getModel().getName(), spec.getModel());
productFamily.putIfAbsent(spec.getModel().getFamily().getName(), spec.getModel().getFamily());
productSeries.putIfAbsent(spec.getModel().getFamily().getSeries().getName(), spec.getModel().getFamily().getSeries());
}
// final Product product = new Product(spec.getModel().getFamily().getSeries().getGroup(),
// spec.getModel().getFamily().getSeries().getBrand(), spec.getPartNo(), spec.getModel().getName());
Dl.remote().add(Mandators.class, new Mandators() {
@Override
public Mandator loadMandator() {
return Mandator.builder().defaultMailSignature(null).smtpConfiguration(null).mailTemplateLocation(null).company(CompanyGen.makeCompany()).dossierPrefix("DW").documentIntermix(null).documentIdentifierGeneratorConfigurations(new EnumMap<>(DocumentType.class)).build();
}
@Override
public DefaultCustomerSalesdata loadSalesdata() {
// To change body of generated methods, choose Tools | Templates.
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public ReceiptCustomers loadReceiptCustomers() {
return ReceiptCustomers.builder().build();
}
@Override
public SpecialSystemCustomers loadSystemCustomers() {
// To change body of generated methods, choose Tools | Templates.
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Contractors loadContractors() {
return new Contractors(EnumSet.allOf(TradeName.class), TradeName.getManufacturers());
}
@Override
public PostLedger loadPostLedger() {
// To change body of generated methods, choose Tools | Templates.
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public ShippingTerms loadShippingTerms() {
// To change body of generated methods, choose Tools | Templates.
throw new UnsupportedOperationException("Not supported yet.");
}
});
Dl.remote().add(SpecAgent.class, new SpecAgent() {
@Override
public ProductSpec findProductSpecByPartNoEager(String partNo) {
return productSpecs.stream().filter(p -> Objects.equals(partNo, p.getPartNo())).findFirst().orElse(null);
}
// <editor-fold defaultstate="collapsed" desc="Unneeded Methods">
@Override
public <T> long count(Class<T> entityClass) {
// To change body of generated methods, choose Tools | Templates.
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public <T> List<T> findAll(Class<T> entityClass) {
if (entityClass.equals(ProductSpec.class))
return (List<T>) productSpecs;
else if (entityClass.equals(ProductSeries.class))
return (List<T>) new ArrayList<>(productSeries.values());
else if (entityClass.equals(ProductFamily.class))
return (List<T>) new ArrayList<>(productFamily.values());
else if (entityClass.equals(ProductModel.class))
return (List<T>) new ArrayList<>(productModels.values());
return Collections.emptyList();
}
@Override
public <T> List<T> findAll(Class<T> entityClass, int start, int amount) {
// To change body of generated methods, choose Tools | Templates.
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public <T> List<T> findAllEager(Class<T> entityClass) {
return findAll(entityClass);
}
@Override
public <T> List<T> findAllEager(Class<T> entityClass, int start, int amount) {
return findAll(entityClass, start, amount);
}
@Override
public <T> T findById(Class<T> entityClass, Object id) {
// To change body of generated methods, choose Tools | Templates.
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public <T> T findById(Class<T> entityClass, Object id, LockModeType lockModeType) {
// To change body of generated methods, choose Tools | Templates.
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public <T> T findByIdEager(Class<T> entityClass, Object id) {
// To change body of generated methods, choose Tools | Templates.
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public <T> T findByIdEager(Class<T> entityClass, Object id, LockModeType lockModeType) {
// To change body of generated methods, choose Tools | Templates.
throw new UnsupportedOperationException("Not supported yet.");
}
});
Dl.remote().add(UnitSupporter.class, new UnitSupporter() {
@Override
public boolean isRefurbishIdAvailable(String refurbishId) {
return Pattern.matches("([2-8][0-9]{4}|A1[0-9]{3})", refurbishId);
}
@Override
public boolean isSerialAvailable(String serial) {
if (serial == null)
return true;
return !serial.startsWith("AAAA");
}
@Override
public String findRefurbishIdBySerial(String serial) {
if (serial == null)
return null;
if (serial.startsWith("B"))
return "12345";
return null;
}
});
Dl.remote().add(UniqueUnitAgent.class, new UniqueUnitAgent() {
@Override
public Product findProductByPartNo(String partNo) {
return products.stream().filter(p -> Objects.equals(partNo, p.getPartNo())).findFirst().orElse(null);
}
// <editor-fold defaultstate="collapsed" desc="Unneeded Methods">
@Override
public UniqueUnit findUnitByIdentifierEager(UniqueUnit.Identifier type, String identifier) {
// To change body of generated methods, choose Tools | Templates.
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public <T> long count(Class<T> entityClass) {
// To change body of generated methods, choose Tools | Templates.
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public <T> List<T> findAll(Class<T> entityClass) {
// To change body of generated methods, choose Tools | Templates.
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public <T> List<T> findAll(Class<T> entityClass, int start, int amount) {
// To change body of generated methods, choose Tools | Templates.
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public <T> List<T> findAllEager(Class<T> entityClass) {
// To change body of generated methods, choose Tools | Templates.
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public <T> List<T> findAllEager(Class<T> entityClass, int start, int amount) {
// To change body of generated methods, choose Tools | Templates.
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public <T> T findById(Class<T> entityClass, Object id) {
// To change body of generated methods, choose Tools | Templates.
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public <T> T findById(Class<T> entityClass, Object id, LockModeType lockModeType) {
// To change body of generated methods, choose Tools | Templates.
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public <T> T findByIdEager(Class<T> entityClass, Object id) {
// To change body of generated methods, choose Tools | Templates.
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public <T> T findByIdEager(Class<T> entityClass, Object id, LockModeType lockModeType) {
// To change body of generated methods, choose Tools | Templates.
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Product findProductByPartNoEager(String partNo) {
// To change body of generated methods, choose Tools | Templates.
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public CategoryProduct createOrUpdate(CategoryProductDto dto, String username) throws NullPointerException {
// To change body of generated methods, choose Tools | Templates.
throw new UnsupportedOperationException("Not supported yet.");
}
// </editor-fold>
@Override
public Reply<Void> deleteCategoryProduct(long id) {
// To change body of generated methods, choose Tools | Templates.
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Reply<Void> addToUnitCollection(PicoUnit unit, long unitCollectionId) {
// To change body of generated methods, choose Tools | Templates.
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Reply<Void> unsetUnitCollection(PicoUnit unit) {
// To change body of generated methods, choose Tools | Templates.
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Reply<UnitCollection> createOnProduct(long productId, UnitCollectionDto dto, String username) {
// To change body of generated methods, choose Tools | Templates.
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Reply<UnitCollection> update(UnitCollectionDto dto, String username) {
// To change body of generated methods, choose Tools | Templates.
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Reply<Void> delete(UnitCollection dto) {
// To change body of generated methods, choose Tools | Templates.
throw new UnsupportedOperationException("Not supported yet.");
}
});
Dl.remote().add(ProductProcessor.class, new ProductProcessorStub());
UnitController controller = new UnitController();
UnitModel model = new UnitModel();
model.setContractor(ONESELF);
model.setMode(ACER);
controller.setModel(model);
final UnitView view = new UnitView(null);
view.setModel(model);
controller.setView(view);
view.setController(controller);
controller.init();
// To Model
view.setVisible(true);
System.out.println("View canceled ? " + view.isCancel());
System.out.println(view.getUnit());
System.out.println(model.getProduct());
System.out.println(model.getOperation());
System.out.println(model.getOperationComment());
}
use of eu.ggnet.dwoss.uniqueunit.api.PicoUnit in project dwoss by gg-net.
the class AssignmentController method unassignUnit.
@FXML
private void unassignUnit(ActionEvent event) {
List<UniqueUnit> selected = assignedUnitsList.getSelectionModel().getSelectedItems();
if (!selected.isEmpty()) {
for (UniqueUnit uu : selected) {
Optional.of(Dl.remote().lookup(UniqueUnitAgent.class).unsetUnitCollection(new PicoUnit(uu.getId(), "RefurbishedId=" + uu.getRefurbishId()))).filter(r -> {
return Ui.failure().handle(r);
}).ifPresent(c -> {
unassignedUnitsList.getItems().add(uu);
assignedUnitsList.getItems().remove(uu);
});
}
unassignedUnitsList.getSelectionModel().clearSelection();
}
}
use of eu.ggnet.dwoss.uniqueunit.api.PicoUnit in project dwoss by gg-net.
the class AssignmentController method assignUnit.
@FXML
private void assignUnit(ActionEvent event) {
List<UniqueUnit> selected = unassignedUnitsList.getSelectionModel().getSelectedItems();
UnitCollection selectedCollection = unitCollectionList.getSelectionModel().getSelectedItem();
if (!selected.isEmpty()) {
for (UniqueUnit uu : selected) {
Dl.remote().lookup(UniqueUnitAgent.class).addToUnitCollection(new PicoUnit(uu.getId(), "RefurbishedId=" + uu.getRefurbishId()), selectedCollection.getId());
assignedUnitsList.getItems().add(uu);
unassignedUnitsList.getItems().remove(uu);
}
unassignedUnitsList.getSelectionModel().clearSelection();
}
}
Aggregations