About Dmitry Gorodnitsky

This author has not yet written his bio.
Meanwhile let's just say that we are proud Dmitry Gorodnitsky contributed with 6 entries.

Entries by Dmitry Gorodnitsky

Pixel Core Tutorial – Service Layer

Service layer is a bit more involved, as it hold following functionality

Secure methods by assigning permissions per method
Define default transaction demarcation on service methods
Export methods via DWR

In order to create a service, we will define interface (similar to persistence manager)

package com.pixelnation.gaming.engine.service.iface;

import com.pixelnation.common.service.iface.INlsService;
import com.pixelnation.common.service.iface.IService;
import com.pixelnation.gaming.engine.domain.GameDef;

public interface IGameDefService extends IService<GameDef, Integer>, INlsService

This interface extends from two other interfaces IService and INlsService. 

INlsService is required only for services working with Localizable domain objects. IService on the other hand define many utility methods that simplify implementation of custom services a breeze.

Implementation of GameDefService will take a bit of explanation

public class GameDefService extends GenericService<GameDef, Integer> implements IGameDefService
private IGameDefManager m_manager;
[…] Read more

Pixel Core Tutorial – Persistence Layer

Now, when we created domain model, we need to add persistence layer (data managers). Data managers will provide interaction between application layer and database. They enable application to save, retrieve and delete object. In general, each domain object should have its own data manager. Also it is a good practice to create interface for each manager.


There is nothing complex in this one. The interface should extend IPersistenceManager with generic parameters of the domain class and domain class id

package com.pixelnation.gaming.engine.persistence.iface;

import com.pixelnation.common.persistence.iface.IPersistenceManager;
import com.pixelnation.gaming.engine.domain.GameDef;

public interface IGameDefManager extends IPersistenceManager<GameDef, Integer>


Same here. Just extend it from PersistenceManager and implement newly created interface (defined above). Make sure to add annotations @Repository […] Read more

Pixel Core Tutorial – Data Model

Pixel Core Tutorial – Data Model

In general Pixel Core Framework adhere to following rule – all data objects are simple POJOs with no business logic.

There are number of interfaces and annotations that add syntactic sugar, make code more readable with less repeating blocks.

public class GameDef
private Integer id;
private Code code;
private Boolean enabled;
private Client client;
private List<Nls> nls;
private Date created;
private Date updated;
private String updatedBy;

Lets go over all properties of this class


This is a unique identifier that will never change over lifetime of the object. It is not necessary must be integer. It could be of any type.


It is human readable unique identifier of the object. It is introduced for interaction with other […] Read more

Pixel Core Integration Platform User Interface

Pixel Core Integration Platform User Interface

General Overview

Pixel Core Integration platform encloses many ready to use components:


User Roles


Client Types
Contact Types


Report Types
Report Editor
Report Browser

Application Preferences

Pixel Core Integration Platform is multilingual by default. It allows for interface and data localization. Active languages are  selected in Languages manager. Most of interfaces will enable configuration of data in different languages. This data will be displayed later in language chosen by user (see Multilingual Support).


With the technology improvements and introduction of computers in every business area, the complexity of a system administration tasks has greatly increased. Even in a midsize network, it is quite a difficult task for a single person to cover all the aspects of system […] Read more

Create Custom Project

Create Custom Project

This is the second blog post regarding installing and configuring development environment for Pixel Core Framework. The first article could be found here.

After Pixel Core project was successfully imported into the environment it is necessary to create a new project specific to business.

Create Dynamic Web Project

Customize content path for the project

You will see a newly created project in Project Browser

We recommend not to copy resources from Core tree, but link them (Eclipse provides this excellent feature). To do so you need to create custom variable PNI_LOC and point it to Core project root.

Link necessary resources (JAR files, CSS, JavaScript, JSP, Etc) from […] Read more

Configure Development Environment

Configure Development Environment

This is the first blog post in a series on installing and configuring development environment for Pixel Core Framework. The next article could be found here.


Pixel Core is a development framework that provides basic common functionality out of the box. Framework could come in two types of distributions: source or binary. Both distributions are exactly the same except source distribution contains Java source files and could be used for deep customization of the framework.

Although it is possible to modify distribution and use it as main project, we recommend to create separate project and use links to PixelCore3 project as it […] Read more