/******************************************************************************* * Copyright (c) 2006-2017, G. Weirich and Elexis * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * G. Weirich - initial implementation * T. Huster - copied from ch.elexis.base.ch.artikel * *******************************************************************************/ package ch.elexis.artikel_ch.data; import java.util.regex.Matcher; import java.util.regex.Pattern; import ch.elexis.data.Artikel; import ch.elexis.data.Query; import ch.rgw.tools.Money; import ch.rgw.tools.StringTool; public class MiGelArtikel extends Artikel { public static final String MIGEL_NAME = "MiGeL"; static Pattern pattern = Pattern.compile("([a-z0-9A-Z])([A-Z][a-z])"); static { transferAllStockInformationToNew32StockModel(new Query<MiGelArtikel>(MiGelArtikel.class), MiGelArtikel.class); } public MiGelArtikel(String code, String text, String unit, Money price){ create(MIGEL_NAME + code); //$NON-NLS-1$ String shortname = StringTool.getFirstLine(text, 120); Matcher matcher = pattern.matcher(shortname); StringBuffer sb = new StringBuffer(); while (matcher.find()) { matcher.appendReplacement(sb, matcher.group(1) + " " + matcher.group(2)); } matcher.appendTail(sb); shortname = sb.toString(); set(new String[] { Artikel.FLD_NAME, Artikel.FLD_TYP, Artikel.FLD_SUB_ID, Artikel.FLD_KLASSE }, new String[] { shortname, MIGEL_NAME, code, MiGelArtikel.class.getName() }); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ setExt("FullText", text); //$NON-NLS-1$ setExt("unit", unit == null ? "-" : unit); //$NON-NLS-1$ //$NON-NLS-2$ set("VK_Preis", price.getCentsAsString()); //$NON-NLS-1$ } @Override protected String getConstraint(){ return "Typ='MiGeL'"; //$NON-NLS-1$ } protected void setConstraint(){ set("Typ", MIGEL_NAME); //$NON-NLS-1$ //$NON-NLS-2$ } @Override public String getLabel(){ return getCode() + " " + get("Name"); //$NON-NLS-1$ //$NON-NLS-2$ } @Override public String getCode(){ return checkNull(get("SubID")); //$NON-NLS-1$ } @Override public String getCodeSystemName(){ return MIGEL_NAME; //$NON-NLS-1$ } public static MiGelArtikel load(String id){ return new MiGelArtikel(id); } protected MiGelArtikel(String id){ super(id); } protected MiGelArtikel(){} @Override public boolean isDragOK(){ return true; } }