--- /dev/null
+/*
+ * Copyright (C) 2017 Roland Häder
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+package org.mxchange.jcontactsbusiness;
+
+import java.text.MessageFormat;
+import java.util.List;
+import javax.ejb.Stateless;
+import javax.persistence.Query;
+import org.mxchange.jfinancials.database.BaseFinancialsDatabaseBean;
+
+/**
+ * An administrative stateless session bean for business data
+ * <p>
+ * @author Roland Häder<roland@mxchange.org>
+ */
+@Stateless (name = "adminBusinessData", description = "An administrative statless bean for handling business data (all)")
+public class FinancialsAdminBusinessDataSessionBean extends BaseFinancialsDatabaseBean implements BusinessDataAdminSessionBeanRemote {
+
+ /**
+ * Serial number
+ */
+ private static final long serialVersionUID = 56_389_504_892_184_572L;
+
+ /**
+ * Default constructor
+ */
+ public FinancialsAdminBusinessDataSessionBean () {
+ // Call super constructor
+ super();
+ }
+
+ @Override
+ @SuppressWarnings ("unchecked")
+ public List<BusinessBasicData> allBusinessContacts () {
+ // Trace message
+ this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allBusinessContacts: CALLED!", this.getClass().getSimpleName())); //NOI18N
+
+ // Get query
+ Query query = this.getEntityManager().createNamedQuery("AllBusinessData"); //NOI18N
+
+ // Get list from it
+ List<BusinessBasicData> list = query.getResultList();
+
+ // Trace message
+ this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allBusinessContacts: list.size()={1} - EXIT!", this.getClass().getSimpleName(), list.size())); //NOI18N
+
+ // Return it
+ return list;
+ }
+
+}
package org.mxchange.jcontactsbusiness;
import java.text.MessageFormat;
-import java.util.List;
import javax.ejb.Stateless;
+import javax.persistence.NoResultException;
import javax.persistence.Query;
+import org.mxchange.jcontactsbusiness.exceptions.BusinessDataNotFoundException;
import org.mxchange.jfinancials.database.BaseFinancialsDatabaseBean;
/**
* <p>
* @author Roland Häder<roland@mxchange.org>
*/
-@Stateless (name = "adminBusinessData", description = "An administrative statless bean for handling business data (all)")
-public class FinancialsBusinessDataSessionBean extends BaseFinancialsDatabaseBean implements BusinessDataAdminSessionBeanRemote {
+@Stateless (name = "businessData", description = "A general statless bean for handling business data (all)")
+public class FinancialsBusinessDataSessionBean extends BaseFinancialsDatabaseBean implements BusinessDataSessionBeanRemote {
/**
* Serial number
}
@Override
- @SuppressWarnings ("unchecked")
- public List<BusinessBasicData> allBusinessContacts () {
+ public BusinessBasicData findBusinessDataById (final Long businessDataId) throws BusinessDataNotFoundException {
// Trace message
- this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allBusinessContacts: CALLED!", this.getClass().getSimpleName())); //NOI18N
+ this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.findBusinessDataById: CALLED!", this.getClass().getSimpleName())); //NOI18N
// Get query
- Query query = this.getEntityManager().createNamedQuery("AllBusinessData"); //NOI18N
+ Query query = this.getEntityManager().createNamedQuery("SearchBusinessDataById", CompanyBasicData.class); //NOI18N
- // Get list from it
- List<BusinessBasicData> list = query.getResultList();
+ // Set parameter
+ query.setParameter("businessDataId", businessDataId); //NOI18N
+
+ // Get single instance
+ BusinessBasicData businessData = null;
+
+ // Try to find a result
+ try {
+ // Find a single result
+ businessData = (BusinessBasicData) query.getSingleResult();
+
+ // Log trace message
+ this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.findBusinessDataById: Found contact={1}", this.getClass().getSimpleName(), businessData)); //NOI18N
+ } catch (final NoResultException ex) {
+ // No result found
+ throw new BusinessDataNotFoundException(businessDataId, ex);
+ }
// Trace message
- this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allBusinessContacts: list.size()={1} - EXIT!", this.getClass().getSimpleName(), list.size())); //NOI18N
+ this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.findBusinessDataById: businessData={1} - EXIT!", this.getClass().getSimpleName(), businessData)); //NOI18N
// Return it
- return list;
+ return businessData;
}
}