Android Open Source - sodf Product Factory






From Project

Back to project page sodf.

License

The source code is released under:

Copyright (c) 2013 Lorenz Lehmann Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Sof...

If you think the Android project sodf listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package lal.apps.smartfoodenvironment.model;
/* w  w  w .  ja v a  2s. com*/
import java.util.LinkedList;
import java.util.List;

import lal.sodf.framework.ontology.KeyValueNode;
import lal.sodf.framework.ontology.Node;
import lal.sodf.framework.ontology.SodfTree;

/**
 * Creates SODF descriptions of products
 * @author Lorenz Lehmann
 *
 */
public class ProductFactory {
  /** Get the Sodf description for a bottle of milk */
  public static SodfTree getMilk(){
    SodfTree data = new SodfTree();
    //add the required metadata
    addProductMetadata(data);
    data.getPropertiesSubtree().addChild(new KeyValueNode(ProductVocabulary.PRODUCT_NAME, "Milk"));
    data.getPropertiesSubtree().addChild(new KeyValueNode(ProductVocabulary.PRODUCT_GOOD_AFTER_OPENING, "2"));
    return data;
  }
  
  /** Get the Sodf description for a glass of Nutella */
  public static SodfTree getNutella(){
    SodfTree data = new SodfTree();
    //add the required metadata
    addProductMetadata(data);
    data.getPropertiesSubtree().addChild(new KeyValueNode(ProductVocabulary.PRODUCT_NAME, "Nutella"));
    data.getPropertiesSubtree().addChild(new KeyValueNode(ProductVocabulary.PRODUCT_GOOD_AFTER_OPENING, "30"));
    return data;
  }
  
  /** Get the Sodf description for a bag of popcorn */
  public static SodfTree getPopcorn(){
    SodfTree data = new SodfTree();
    //add the required metadata
    addProductMetadata(data);
    addMicrowaveMetadata(data);
    //add the properties
    data.getPropertiesSubtree().addChild(new KeyValueNode(ProductVocabulary.PRODUCT_NAME, "Popcorn"));
    data.getPropertiesSubtree().addChild(new KeyValueNode(ProductVocabulary.PRODUCT_GOOD_AFTER_OPENING, "1"));
    //add the microwave function
    List<Node> interactions = new LinkedList<Node>();
    interactions.add(new KeyValueNode(MicrowaveVocabulary.MICROWAVE_DURATION, "3"));
    interactions.add(new KeyValueNode(MicrowaveVocabulary.MICROWAVE_HEAT, "800"));
    data.getFunctionsSubtree().addNewFunction(MicrowaveVocabulary.MICROWVAE_PREPARE, interactions);
    return data;
  }
  
  /** Get the Sodf description for a box of noodles */
  public static SodfTree getNoodles(){
    SodfTree data = new SodfTree();
    //add the required metadata
    addProductMetadata(data);
    addMicrowaveMetadata(data);
    //add the properties
    data.getPropertiesSubtree().addChild(new KeyValueNode(ProductVocabulary.PRODUCT_NAME, "Noodles"));
    data.getPropertiesSubtree().addChild(new KeyValueNode(ProductVocabulary.PRODUCT_GOOD_AFTER_OPENING, "4"));
    //add the microwave function
    List<Node> interactions = new LinkedList<Node>();
    interactions.add(new KeyValueNode(MicrowaveVocabulary.MICROWAVE_DURATION, "8"));
    interactions.add(new KeyValueNode(MicrowaveVocabulary.MICROWAVE_HEAT, "1200"));
    data.getFunctionsSubtree().addNewFunction(MicrowaveVocabulary.MICROWVAE_PREPARE, interactions);
    return data;
  }

  /** Add the product metadata to a SODF tree */
  private static SodfTree addProductMetadata(SodfTree data){
    data.getMetadataSubtree().getPrefixesSubtree().addChild(
        new KeyValueNode(ProductVocabulary.PRODUCT_PREFIX,
            ProductVocabulary.PRODUCT_URL));
    return data;
  }
  
  /** Add the microwave metadata to a SODF tree */
  private static SodfTree addMicrowaveMetadata(SodfTree data){
    data.getMetadataSubtree().getPrefixesSubtree().addChild(
        new KeyValueNode(MicrowaveVocabulary.MICROWAVE_PREFIX,
            MicrowaveVocabulary.MICROWAVE_PREFIX));
    return data;
  }
}




Java Source Code List

lal.apps.ontap.MainActivity.java
lal.apps.ontap.WifiVocabulary.java
lal.apps.smartfoodenvironment.activities.ExpiredActivity.java
lal.apps.smartfoodenvironment.activities.FactoryActivity.java
lal.apps.smartfoodenvironment.activities.MicrowaveActivity.java
lal.apps.smartfoodenvironment.activities.StartActivity.java
lal.apps.smartfoodenvironment.model.MicrowaveVocabulary.java
lal.apps.smartfoodenvironment.model.ProductFactory.java
lal.apps.smartfoodenvironment.model.ProductVocabulary.java
lal.sodf.example.MainActivity.java
lal.sodf.framework.SodfCallback.java
lal.sodf.framework.SodfCallback.java
lal.sodf.framework.SodfCallback.java
lal.sodf.framework.SodfFramework.java
lal.sodf.framework.SodfFramework.java
lal.sodf.framework.SodfFramework.java
lal.sodf.framework.SodfWrapper.java
lal.sodf.framework.SodfWrapper.java
lal.sodf.framework.SodfWrapper.java
lal.sodf.framework.compressor.CompressionAlgorithm.java
lal.sodf.framework.compressor.CompressionAlgorithm.java
lal.sodf.framework.compressor.CompressionAlgorithm.java
lal.sodf.framework.compressor.Compressor.java
lal.sodf.framework.compressor.Compressor.java
lal.sodf.framework.compressor.Compressor.java
lal.sodf.framework.compressor.Gzip.java
lal.sodf.framework.compressor.Gzip.java
lal.sodf.framework.compressor.Gzip.java
lal.sodf.framework.exceptions.CompressionAlgorithmNotFoundException.java
lal.sodf.framework.exceptions.CompressionAlgorithmNotFoundException.java
lal.sodf.framework.exceptions.CompressionAlgorithmNotFoundException.java
lal.sodf.framework.exceptions.DuplicateKeyException.java
lal.sodf.framework.exceptions.DuplicateKeyException.java
lal.sodf.framework.exceptions.DuplicateKeyException.java
lal.sodf.framework.exceptions.MalformedTypeException.java
lal.sodf.framework.exceptions.MalformedTypeException.java
lal.sodf.framework.exceptions.MalformedTypeException.java
lal.sodf.framework.exceptions.TagEmptyException.java
lal.sodf.framework.exceptions.TagEmptyException.java
lal.sodf.framework.exceptions.TagEmptyException.java
lal.sodf.framework.exceptions.UnformattedTagException.java
lal.sodf.framework.exceptions.UnformattedTagException.java
lal.sodf.framework.exceptions.UnformattedTagException.java
lal.sodf.framework.nfc.NfcContentWrapper.java
lal.sodf.framework.nfc.NfcContentWrapper.java
lal.sodf.framework.nfc.NfcContentWrapper.java
lal.sodf.framework.nfc.NfcHandler.java
lal.sodf.framework.nfc.NfcHandler.java
lal.sodf.framework.nfc.NfcHandler.java
lal.sodf.framework.ontology.FunctionsNode.java
lal.sodf.framework.ontology.FunctionsNode.java
lal.sodf.framework.ontology.FunctionsNode.java
lal.sodf.framework.ontology.KeyNode.java
lal.sodf.framework.ontology.KeyNode.java
lal.sodf.framework.ontology.KeyNode.java
lal.sodf.framework.ontology.KeyValueNode.java
lal.sodf.framework.ontology.KeyValueNode.java
lal.sodf.framework.ontology.KeyValueNode.java
lal.sodf.framework.ontology.MetadataNode.java
lal.sodf.framework.ontology.MetadataNode.java
lal.sodf.framework.ontology.MetadataNode.java
lal.sodf.framework.ontology.Node.java
lal.sodf.framework.ontology.Node.java
lal.sodf.framework.ontology.Node.java
lal.sodf.framework.ontology.PropertiesNode.java
lal.sodf.framework.ontology.PropertiesNode.java
lal.sodf.framework.ontology.PropertiesNode.java
lal.sodf.framework.ontology.RestInteractionNode.java
lal.sodf.framework.ontology.RestInteractionNode.java
lal.sodf.framework.ontology.RestInteractionNode.java
lal.sodf.framework.ontology.RestParameters.java
lal.sodf.framework.ontology.RestParameters.java
lal.sodf.framework.ontology.RestParameters.java
lal.sodf.framework.ontology.SodfTree.java
lal.sodf.framework.ontology.SodfTree.java
lal.sodf.framework.ontology.SodfTree.java
lal.sodf.framework.ontology.SodfVocabulary.java
lal.sodf.framework.ontology.SodfVocabulary.java
lal.sodf.framework.ontology.SodfVocabulary.java
lal.sodf.framework.parser.SodfParser.java
lal.sodf.framework.parser.SodfParser.java
lal.sodf.framework.parser.SodfParser.java